fixed type of mapping functor