ecmascript5 polyfill