added forEach polyfill