improved collisions, should still work even when lagging a lot
merge