fix for IE8 & extension to prototype array