add data processing