domain objects: constructors, getters, setters & ... (part1)
other layers: template classes to this application (part0)