added improved fragment caching