add tag and tagging factories
implement tagging functionality for notes