complete, except for adding user login and authentication, and more styling