program preparation and execution 2820920