you could implement different storage classes that have the same interface