some sign up backend logic