add deferred and promise keywords