Improved per row feature by processing each row in turn