edit promise/async