adding cache saving/reloading from disk