user can sign out AND massive refactoring of the code