diff --git a/.gitignore b/.gitignore
index badf168d..f65d4b90 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,8 @@ Makefile
/src/cg-mwesplit
/src/cg-proc
/src/cg-relabel
+/src/cg-annotate
+/src/cg-merge-annotations
/src/CMakeFiles
/src/libcg3.1.dylib
/src/libcg3.dylib
diff --git a/emacs/cg.el b/emacs/cg.el
index 03b0d646..d342d953 100644
--- a/emacs/cg.el
+++ b/emacs/cg.el
@@ -164,7 +164,7 @@ Don't change without re-evaluating `cg-kw-re' (or all of cg.el).")
"MAP" "ADD"
"UNMAP"
"SELECT" "REMOVE"
- "SETPARENT" "SETCHILD" "REMPARENT"
+ "SETPARENT" "SETCHILD" "REMPARENT" "SWITCHPARENT"
"ADDRELATION" "REMRELATION" "SETRELATION"
"ADDRELATIONS" "REMRELATIONS" "SETRELATIONS"
"SETVARIABLE" "REMVARIABLE"
diff --git a/manual/dependencies.xml b/manual/dependencies.xml
index e0f79f6b..76580102 100644
--- a/manual/dependencies.xml
+++ b/manual/dependencies.xml
@@ -62,7 +62,7 @@
REMPARENT
- SETCHILD
+ REMPARENT
[wordform] REMPARENT <target> [contextual_tests] ;
@@ -75,6 +75,44 @@
+
+ SWITCHPARENT
+
+ SWITCHPARENT
+
+
+ [wordform] SWITCHPARENT [WITHCHILD <child_set>] <target> [contextual_tests] ;
+
+
+ Sets the grandparent of the target as its parent and sets the target as the parent of the previous parent. If WTIHCHILD is present, any siblings of the target which match the set will also become children of the target.
+
+
+ "<and>"
+ "and" CCONJ #1->2
+ "<in>"
+ "in" ADP #2->0
+ "<the>"
+ "the" DET #3->4
+ "<house>"
+ "house" NOUN #4->2
+ "<.>"
+ "." PUNCT #5->2
+
+ SWITCHPARENT WITHCHILD (*) - (PUNCT) (NOUN) IF (p (ADP)) ;
+
+ "<and>"
+ "and" CCONJ #1->4
+ "<in>"
+ "in" ADP #2->4
+ "<the>"
+ "the" DET #3->4
+ "<house>"
+ "house" NOUN #4->0
+ "<.>"
+ "." PUNCT #5->2
+
+
+