Do some refactoring
Do some refactoring