Added interface for specifying the type of controller