Client-side cleanup