refactored
fix merge