improve code principle
improve code principle