Add in KD trees. AVL not handling duplicates atm