deplacing Channel to avoid circular dependencies