delete logic added ( factored out )
delete test added