remove fails if key is NULL