some implementation in controller