complete if, else, ternary