Refactored Custom mapper