Refactored question parser