solved parsing, and iterator