Share tags2

Supersedes #11351.
split into two methods