This won't work in ES3 browsers.