adds more complete collision detection