Rewriting parser again