implemented args and filtered listen_channel