create myself promise lib. Throw away the callback, you can  write elegant code with myPromiseLib.