done with storage basic function