contrastive analysis refactoring part 1