controller is singleton now