better sup fn selector