adding controllers implementation