partial work for yield, generators