reworks domain concept, moving unit tests and services appropriately