Refactor sign up