refactor update_data out