refactoring composite mappers