some Refactoring