Refactored Parser