added clean and update