using TriBool instead of TriState