fixed setdata()