Refactored implememntations of all scanners