energy fn corrected