kahan and cleanup