nicer single phase function
nice merge strategy