Pretty printing - tests to come + remainder of domain model