Adding more auth and user stuff, refactoring as I go