add category and tag function