Large update - auth refactor, user settings