adding tags functionality (wip)