improve promises
improve resolve procedure