add offline cache