move key to own struct, add tfm+kref, fix mutators
key lookup