improved contract cancel flow