implement EG