add sign in and sign out functionality