separate out Mapper