add initial sign in and sign out functionality and tests
Finish sign in
merge in feature/sign-in-out