add promise mode api