update and delete useless