initial program setup