collision logic and filtering with quads