building blocks for tags, sets and others