implement pick-term and cut-term
implement compose operator