Validating input and erroring pretty.
Groundwork for main functionality.