added a bunch of functionality, started on cli part