sourcecode's refactoring