implementing EG