resolved todo: disallow empty paragraphs