add promise docs