extended controller with factory
refactored Rec factory