with randomized hooks and collision detection
committed UserInterfaceState.xcuserstate, but no other changes