first playable version. removed the reliance on the prototype chain