Simpler struct init
Ditch nested conditionals
Implement Error interface
Clean up Summary printing
Write error output to stderr