added self-colliding