major refactor
added new options to CLI