add some promises work