refactoring common components
fix merge