fix promises