adding support for mixing and and or operations