does not force lower/upper