iterator almost there