extra file: file_macher, refactored matching process to smaller methods, one extra spec