fix data.fetch
Now returns a native promise. urldata should be modified to do the same