cleanup
refactored
conflict fix