Finished channel-based implementation
q
q