start adding specs for existing functionality

Just the start of specs for the linter base code, also making the code more testable.