This [Possible duplicate](https://stackoverflow.com/questions/8683125/combining-inheritance-with-the-module-pattern) did not help me, I failed on an interview because of a similar question.

The idea is to create a person `Object` that is a father of teacher and grandfather of Manager using `module pattern` and `inheritance`.
Something like that Manager->Teacher->Person

My code looks like that([My Plunk](http://plnkr.co/edit/E1CqQ1AeDxbKfFYepRSW)):

```
(function(undef)
{
    /**Waiting till document is ready before applying next functions*/
    $(document).ready(function(){

        var person = new APP.Person('Aria Stark','223232');
        document.write(person.getDetails());
    })();

     var APP = {};

     APP.Person =(function() {

        function Person(name, ID) {
            this.name = name;
            this.ID = ID;
        }

        Person.prototype.getDetails = function() {
            return " name: " + this.name + " ID: " + this.ID;
        };

        return Person;
    });

    APP.Teacher =(function () {

        function Teacher(name, ID, salary, hatColor) {
            APP.Person.call(this, name, ID);
            this.salary = salary;
            this.hatColor = hatColor;
        }

        Teacher.prototype = new APP.Person();

        Teacher.prototype.getDetails = function() {
            return APP.Person.call(this) + " Salary: " + this.salary + " Hat: " + this.hatColor;
        };

        return Teacher;
    });

    APP.Manager =(function () {

        function Manager(name, ID, salary, hatColor, car) {
            APP.Teacher.call(this, name, ID, salary, hatColor);
            this.car = car;
        }

        Manager.prototype = new APP.Teacher();

        Manager.prototype.getDetails = function() {
            return APP.Teacher.call(this) + " Car: " + this.car;
        };

        return Manager;
    });

})(); 

```

I get an error on the first line:

```
var person = new APP.Person('Aria Stark','22323');

```

The error is: `Uncaught TypeError: object is not a function`

Can someone help me with with that? I'm also open to hear other improvements to this code.