added gaussian linear solver