update with cleaning up