optimize the mapper code