Added caching and new text. Move parsing to helper