added array polyfills