complete tool state classes, union some vars (no alias system, sad:( )