optimization and refactoring
optimization and refactoring