Do some refactoring: additional 3