demux rules are tricky [ci skip]