overhaul changing the way in which data is requested according to options