Rebuild from scratch

Rebuilt, fully TDD, structured. Suppresses errors, removes anything that might scare a code newcomer. Allows resubmission