Updated with Offline cache capabilities