refactored and added notes to eplain iteration