few new generation code
In prepare to change RowBatch's signature