Read preference factory