mapper refactoring