added CLI
added CLI tests and some other