more general underscore handling