fix data ordering problem, always sort data by position