collision detection should always work