adding authentication,  user model, route and controller