added get_program method