add a tests project
ignore user files
Extract out reports, and write some trivial tests.