almost done with custom CLI