handling cancel better in join