mapper protocol refactored for compliance with Mantle