first draft of MultiKeyMap