use channel to filter