refactored collision checking to support multiple diff checks