Updated ProgramClass to run as threads