half-open intervals