implement EAT properly