Homework

Needs more thorough field validation for optional values.