added selfenergy struct