Refactor Parser