very basic tag functionality. will need more work