less naive category handling