FileScanner refactor