if recompute_data() and copy_data() don't exist, use empty functions instead