add sign up logic