commented out unused; extended sfinae test