Refactor user signup