adding support for specifying the "type" of key, incrementing version number