es5-shim for ES5 compatability

Closes #241