where does the energy for atp come from