refactor and harden markup.paragraphs, still breaks all test