added collections and iterator