refactor conversation parser to seperate class