changed for gauss seidel