moved free(iterator->this) into iterator implementation