partial promise support