now reading data in shuffled blocks. tested on 1.5M records