implement user authentication and many to many relationship