add tristate + test