Enterprise clusters and networks as sources of cooperation and technology diffusion for small firms in developing countries,