add categories functionality