tag generation uses lists instead of dicts