design the program