implements if/elseif/else