===== General program set up =====