Added command line intergration

* Also added backup ability
* ability to pass a string path instead of object (needed for cl
intergration)
* More error checking with supplied arguments
* updated unit tests