Working on prototype - changed internals (removed dependence on Array methods)