added if and or