Got test suite and executable working
Refactored core searching functionality into a `Common` module