working edge collisions