first version of the language iterator (not tested)