[Change] terminal separated from cli implementation