Creating `auth()` and starting to refactor