Improve weighted read to be more memory efficient