better boolean abstract for normalization