mapper classes revised