added view caching