Midterm submission, full requirements.  Work in progress: formatting the output