possibly working disk storage, needs tests