refactore EGen