constrain and add wider cases