implement leave