gererating
added squares, main, and print func
iterators