add E with a little optimization