Category model and validation