New collision implementation