updated UI with caching and better text view