Refactored parsing to separate CFC