add category centric processing. fixes #230