clean up observer