try using native Promises