refactoring and merging