overhaul kill()