added row/column wise ops