Parser refactor 3