Question: I need an array to store some geometrical data. I would like to simply inherit from the Array object and than extend it with a few new functions like "height" and "width" (sum of all children's heights/widths), but also with a few convenience methods like "insertAt" or "remove".

What is the best way to do it **without** modifying the original Array object (Array.prototype.myMethod)?

Answer: 
Are you (maybe) applying Java concepts to Javascript?

You don't need to inherit from classes in Javascript, you just ***enrich*** objects.

So the best way in my world (a world full of people *head-butting* methods into objects) is:

```
function GeometricArray()
{
  var obj=[]

  obj.height=function() {
    // wibbly-wobbly heighty things

    for(var i=0;i<this.length;i++) {
      // ...
    }

  }

  obj.width=function() {
    // wibbly-wobbly widy things
    // ...
  }

  // ...and on and on...

  return obj
}

```
You could use prototyping to put those functions in Array.

To add the height function for example do this:

```
Array.prototype.height = function() {
    //implementation of height
}

```