use mapped class factory