added output concept and --verbose mode