implement the ProgramUT class