added ping caching