category data struct