Auth Refactor