implementation for program manager.
forget the program_manager_impl.cpp file in last checkin.