introduced newKeyInstance and newValueInstance