refactored to support other rtf parses