changed read_preference structure