Implemented ProgramFactory