semi-functional cli