added authentication and user controllers