Ok, so here is the basics of what I want to do:

```
var Hi = function(name){
    this.name = name;
};

Hi.prototype = {
    message: function(){
        $('body').append('Hi '+this.name);
    }
};

var hi = new Hi('There ');

```

Which works fine, but now I want to copy it so I can change it to say "Bye",

```
var Bye = Hi;
Bye.prototype.message = function(){
    $('body').append('Bye '+this.name);
};

var bye = new Bye('There');

```

so then to get the output of `Hi There Bye There` I thought that this should work:

```
hi.message();
bye.message();

```

but instead the output is `Bye There Bye There` aka my modifications overwrite the original object.

How can I get this to work as I expect? note, jQuery/ jQuery UI solutions are fine, but I would like both a vanilla and a jQuery version to understand what's going on!

jsFiddle of my code: <http://jsfiddle.net/YGa7p/>