refactored conditions private mthods