implemented all controllers