change_data refactor