diff --git a/docs/symbols/src/kis-js_src_core.js.html b/docs/symbols/src/kis-js_src_core.js.html
index 350be6d..860877c 100755
--- a/docs/symbols/src/kis-js_src_core.js.html
+++ b/docs/symbols/src/kis-js_src_core.js.html
@@ -171,47 +171,55 @@
164 {
165 if(typeof sel.length !== "undefined" && sel !== window)
166 {
-167 var len = sel.length;
-168
-169 if (len === 0)
-170 {
+167 // Use the native method, if it exists
+168 if(typeof Array.prototype.forEach !== 'undefined')
+169 {
+170 [].forEach.call(sel, callback);
171 return;
172 }
-173
-174 var selx;
-175 for (var x = 0; x < len; x++)
-176 {
-177 selx = (sel.item(x)) ? sel.item(x) : sel[x];
-178 callback.call(selx, selx);
-179 }
-180 }
-181 else
-182 {
-183 callback.call(sel, sel);
-184 }
-185 });
-186
-187 /**
-188 * Retrieves the type of the passed variable
-189 *
-190 * @param mixed obj
-191 * @return string
-192 * @type string
-193 */
-194 $_.type = function(obj)
-195 {
-196 if((function() {return obj && (obj !== this)}).call(obj))
-197 {
-198 //fallback on 'typeof' for truthy primitive values
-199 return (typeof obj).toLowerCase();
-200 }
-201
-202 //Strip x from [object x] and return
-203 return ({}).toString.call(obj).match(/\s([a-z|A-Z]+)/)[1].toLowerCase();
-204 };
-205
-206 //Set global variables
-207 $_ = window.$_ = window.$_ || $_;
-208 $_.$ = $;
+173
+174 // Otherwise, fall back to a for loop
+175 var len = sel.length;
+176
+177 if (len === 0)
+178 {
+179 return;
+180 }
+181
+182 var selx;
+183 for (var x = 0; x < len; x++)
+184 {
+185 selx = (sel.item(x)) ? sel.item(x) : sel[x];
+186 callback.call(selx, selx);
+187 }
+188 }
+189 else
+190 {
+191 callback.call(sel, sel);
+192 }
+193 });
+194
+195 /**
+196 * Retrieves the type of the passed variable
+197 *
+198 * @param mixed obj
+199 * @return string
+200 * @type string
+201 */
+202 $_.type = function(obj)
+203 {
+204 if((function() {return obj && (obj !== this)}).call(obj))
+205 {
+206 //fallback on 'typeof' for truthy primitive values
+207 return (typeof obj).toLowerCase();
+208 }
209
-210 }());