throw KeyError on nonexistent key