Make row allocation in begin_row
Move row creation to alloc_row function
Add 'add_row' function