@cancel changes from upstream