trinary function