improves tag collection and overloads + and - operators