failing tests but a cleaner main parse loop, parseNextNode should help implement complex blocks, though we might want parseUntilBlockTag