es5-shim for ES5 compatability