deletion happens in its own function