iterator project first version