fixed prototyping, ineritance, constructors