added better collisions