Blood or other fluids can be caused to interact with a gas by providing a plurality of fluid flow channels that are surrounded by nanotubes, each of the channels having an inflow end and an outflow end, wherein each of the channels is wide enough for the blood to flow through, and wherein the nanotubes are spaced close enough to each other to retain the fluid within the channels when the blood is flowing through the channels. The fluid is then passed through the through the channels while a gas is passed through the spaces between the nanotubes outside the fluid flow channels. This permits the gas to interact with the fluid in the channels.