implemented most of tag test