Add code from chapter 6 exercises.
Finish user signup