Added more domain classes, some refactoring