some refactoring