demux first impl