refactored channel and destination