refactoring the source change levels