done with random read and random write