add vendor/promise