change data logic