add offline cache and process