no need to yield as we pass via hash