complete sing-in sign-out and sign-up functionality