metadata abstraction for external storage