refactoring on domain package structure