update , cleanup