skeleton for the program