added promised_d