don't use Array.prototype.map, for IE compat