Some refactoring
some refactorin