modifed mapper, reducer