generate mapper