Validation without side effects
Rename some functions
Refactor post register
Refactor sign up