authentication, many to many, edit function, comment counting, category function