use SIGTERM
use io.Copy here too
use a goroutine where we might be sending to a channel in the same goroutine where we're consuming the same channel