use a different hash merge idiom