             var frames: [String: CGRect]?
             if areCollisions {
                 // Register possible collisions as constraints
-                for (frame1, frameList) in possibleFrameCollisions {
+                for (frame1, frameList) in frameCollisions {
                     let index1 = frameIndices[frame1]!
                     for frame2 in frameList {
                         let index2 = frameIndices[frame2]!

        })

        for value in domain {
            if Date.timeIntervalSinceReferenceDate-startTime > 5.0 || cancelled {
                return true
            }
            let activeFrame = variables[depth]
            activeFrame.applyValue(value)
            var noFails = true

            }
            if noFails {
                if depth == (n-1) {
                    return .success
                }
                else {
                    let nextDepth = depth + 1
                    let result = backtrack(depth: nextDepth)
                    if result != .running {
                        return result
                    }
                }
            }
        }
        return .running
    }

    private func backupAlgorithm() -> [String: CGRect] {
        // TODO: IMPLEMENT
        return exportSolution()
    }

    // Check if constraint is satisfied between two depths.
