add changes to gaussian_elim