decoupling create controller