basic demux, untested