native XHR with native browser Promises added