Implemented basic options for report generation.
Tidying up some of the boilerplate code.