added function map