moved polyfill into own file