client side cleanup