Added skeleton for CLI type, need to be implemented. Refactored other places