run with mapfn with callback