improved prototypal class system