simpler row/column impl