refactoring gauss