runs the program