add data handle logic