added propper support for implamenting and extending constructors with prototype functions