modified StorageUnit and others