explicit return of upper/middle/lower