successful refactor from enumerator to enumerable