path compression and bulge removal seems to be working