add sign in/out feature