add category function