magic method, iterator, generator