Implement tags, early tests

Closes #32 & #65.