WIP: begin implementing demux