I made my own hot water heater from mostly garbage when I lived in Belize and it worked great. Cost $100 and I had hot showers whenever I needed it. I can only imagine how much more efficient the commercial units are.

If you're interested, I used these instructions, although the materials available varied a bit in my area. For example, my tank was a small trash can inside a larger trash can. I insulated it by breaking up a styrofoam cooler and shoving it in between the walls of the two trash cans and shooting a can of "Great Stuff" foam in to fill any voids. Worked great. Although it only had capacity for a two quick showers. If I did it again I'd do a bigger tank.
_________________________
~ John