add dot products and transpose operation