added async versions of mapTuple