implemented OR & OR2, use property-based tests for them
implemented demux