quadtree implementation is swappable cause the new one is unstable