refactoring and correted normals in gooch, flat