More refactoring on domain layer