         print("❌", tangible)
 
         tangibles.remove(tangible)
+        if let (initial, fixed) = orientationLabels[tangible] {
+            initial.removeFromSuperview()
+            fixed.removeFromSuperview()
+            orientationLabels[tangible] = nil
+        }
     }
 
     func tangible(_ tangible: PASTATangible, lost marker: PASTAMarker) {


    func tangibleMoved(_ tangible: PASTATangible) {
        tangible.layer.cornerRadius = tangible.radius
    }

    func tangibleDidBecomeActive(_ tangible: PASTATangible) {

        tangible.layer.cornerRadius = tangible.radius
        tangible.layer.borderWidth = 2.0

        let initialOrientationCenter = tangible.center + tangible.initialOrientationVector *
                (tangible.radius + labelOffset)
        let initialOrientationLabel = UILabel()
        initialOrientationLabel.text = "IO"
        initialOrientationLabel.frame = CGRect(center: initialOrientationCenter, edges: 20)
        tangibleView.addSubview(initialOrientationLabel)

        let orientationLabel = UILabel()
        orientationLabel.text = "O"

        if let orientationVector = tangible.orientationVector {
            let orientationCenter = tangible.center + orientationVector * (tangible.radius + labelOffset)

            orientationLabel.frame = CGRect(center: orientationCenter, edges: 20)

            tangibleView.addSubview(orientationLabel)
        }
        orientationLabels[tangible] = (initialOrientationLabel, orientationLabel)

        print("✅", tangible.patternIdentifier ?? "no identifier")
        print("✅", tangible)

