refactory
fix merge conflict