Tagging

Merge in the work of @bmuscede and @nathanychow on the Tagging system.
Use `unless`