but augmenting array.prototype isn't that clean