added promise object and promisearray