categories as optional