refactor the signup page to catch edge cases