leave() semi-complete