A heat exchanger is provided for transferring heat to a working fluid. The heat exchanger comprises a housing having a plurality of grooves formed in a surface of the housing. The grooves have a first end and a second end, and define fluid flow channels. Each channel has a fluid flow inlet and a fluid flow outlet. The fluid flow inlets of an alternating first set of channels are adjacent to the first end of the grooves, and the fluid flow inlets of a second set of alternating channels are adjacent to the second end of the grooves. The first set of channels and the second set of channels are arranged such that fluid in immediately adjacent channels flows in opposite directions.