controllers and empty factory