added GenericMapper interface