diff --git a/Sources/HTMLDOMUtils.h b/Sources/HTMLDOMUtils.h
index fba89a6..2b62d59 100644
--- a/Sources/HTMLDOMUtils.h
+++ b/Sources/HTMLDOMUtils.h
@@ -7,7 +7,8 @@
//
#import
+#import "HTMLDOM.h"
-@interface HTMLDOMUtils : NSObject
+@class HTMLNode;
-@end
+extern HTMLNode * GetCommonAncestorContainer(HTMLNode *nodeA, HTMLNode *nodeB);
diff --git a/Sources/HTMLDOMUtils.m b/Sources/HTMLDOMUtils.m
index 7ab2d01..45a95ef 100644
--- a/Sources/HTMLDOMUtils.m
+++ b/Sources/HTMLDOMUtils.m
@@ -7,7 +7,17 @@
//
#import "HTMLDOMUtils.h"
+#import "HTMLNode.h"
-@implementation HTMLDOMUtils
+extern HTMLNode * GetCommonAncestorContainer(HTMLNode *nodeA, HTMLNode *nodeB)
+{
+ for (HTMLNode *parentA = nodeA; parentA != nil; parentA = parentA.parentNode) {
+ for (HTMLNode *parentB = nodeB; parentB != nil; parentB = parentB.parentNode) {
+ if (parentA == parentB) {
+ return parentA;
+ }
+ }
+ }
-@end
+ return nil;
+}