Totally rewritten Parser
Revert "Totally rewritten Parser"

This reverts commit f540e2145cf06ad55af19fde537ac837c31e50e7.
Revert "Revert "Totally rewritten Parser""

This reverts commit d22c349608b3a27c8e6fcbaf57a5a08e09edddac.