add data cache and enable result sorting