added user registration and updated models, views, urls, and templates