Improved domain objects
Refactor test program