Refactoring matchers into their own folders/files
Addressing review comments - better naming, comments, removed some TODOs
Refactoring duplicated code into a separate module.  Also making CLI options more informative