moved error handling in p_signup