some refactoring for standard model