add mapper generics