using scratch space for multi way weight updates as well