Basic implementation; no tree rebalancing; not passing all tests