removing swtich abstractions - use zezy's mux/demux instead