improve cato surpise logic: if » else if