Created program spec and factory