Refactoring volume_io