add sign-in and sign-out function