add generic mapper