Some refactoring
Some refactoring
Some refactoring
Some refactoring