Refactored domain classes
Further refactored domain classes
Merge pull request #8 from mozammel/feature/domain-classes-refactor

Refactored domain classes