use new key structure to vastly improve performance