add NewPromise func
update gdf