tag functionality
major contribs to project