Complete program IO. Add caching of classes on disk