first draft of EnergyNode.  Needs testing