added inheritance for Key