Changed the implementation of Tag

The new implementation of tag can take as many parameters as needed