add tags
refactoring tests and add tests for tags