add cli, separate Class files :no_good: