change data's construction