def METHOD_NAME(key, IV, implList=None):
    """Create a new 3DES object.
    :type key: str
    :param key: A 24 byte string.
    :type IV: str
    :param IV: An 8 byte string
    :rtype: tlslite.utils.TripleDES
    :returns: A 3DES object.
    """
    if implList is None:
        implList = ["openssl", "pycrypto", "python"]
    for impl in implList:
        if impl == "openssl" and cryptomath.m2cryptoLoaded:
            return openssl_tripledes.new(key, 2, IV)
        elif impl == "pycrypto" and cryptomath.pycryptoLoaded:
            return pycrypto_tripledes.new(key, 2, IV)
        elif impl == "python":
            return python_tripledes.new(key, IV)
    raise NotImplementedError()