Implement Categorizing and Tagging

^Title. Code review & feedback would be great before merging.