min max logic