functional cli