actually handle soft reject
unlock when unshifting