refactoring structure to go with model mapper style.