refactor TagList