improved prototypal inheritance