generic row creation