implemented short-circuit logic operators