refactoring to avoid path conflicts