add solution iterator