Moved FileProcessor to top-level