refactor tag module
resolve conflicts
Merge pull request #541 from leonindy/master

refactor tag module