skip the union, use channels to sync in find