controller and unit tests added