Not really sure why I get so many errors, looks like the iterator class is a bit complicated, are we really using it?