More generic collision response