diff --git a/basis/alien/prettyprint/prettyprint.factor b/basis/alien/prettyprint/prettyprint.factor
index 4586c08542..e17d4c0533 100644
--- a/basis/alien/prettyprint/prettyprint.factor
+++ b/basis/alien/prettyprint/prettyprint.factor
@@ -17,7 +17,7 @@ M: dll pprint* dll-path dup "DLL\" " "\"" pprint-string ;
 
 M: c-type-word definer drop \ C-TYPE: f ;
 M: c-type-word definition drop f ;
-M: typedef-word declarations. drop ;
+M: c-type-word declarations. drop ;
 
 GENERIC: pprint-c-type ( c-type -- )
 M: word pprint-c-type pprint-word ;
@@ -28,9 +28,12 @@ M: array pprint-c-type pprint* ;
 M: typedef-word definer drop \ TYPEDEF: f ;
 
 M: typedef-word synopsis*
-    \ TYPEDEF: pprint-word
-    dup "c-type" word-prop pprint-c-type
-    pprint-word ;
+    {
+        [ seeing-word ]
+        [ definer. ]
+        [ "c-type" word-prop pprint-c-type ]
+        [ pprint-word ]
+    } cleave ;
 
 : pprint-function-arg ( type name -- )
     [ pprint-c-type ] [ text ] bi* ;
@@ -46,7 +49,10 @@ M: alien-function-word definer
     drop \ FUNCTION: \ ; ;
 M: alien-function-word definition drop f ;
 M: alien-function-word synopsis*
-    \ FUNCTION: pprint-word
-    [ def>> first pprint-c-type ]
-    [ pprint-word ]
-    [ <block "(" text pprint-function-args ")" text block> ] tri ;
+    {
+        [ seeing-word ]
+        [ definer. ]
+        [ def>> first pprint-c-type ]
+        [ pprint-word ]
+        [ <block "(" text pprint-function-args ")" text block> ]
+    } cleave ;
diff --git a/extra/system-info/authors.txt b/basis/system-info/authors.txt
similarity index 100%
rename from extra/system-info/authors.txt
rename to basis/system-info/authors.txt
diff --git a/extra/system-info/backend/authors.txt b/basis/system-info/backend/authors.txt
similarity index 100%
rename from extra/system-info/backend/authors.txt
rename to basis/system-info/backend/authors.txt
diff --git a/extra/system-info/backend/backend.factor b/basis/system-info/backend/backend.factor
similarity index 100%
rename from extra/system-info/backend/backend.factor
rename to basis/system-info/backend/backend.factor
diff --git a/extra/system-info/linux/authors.txt b/basis/system-info/linux/authors.txt
similarity index 100%
rename from extra/system-info/linux/authors.txt
rename to basis/system-info/linux/authors.txt
diff --git a/extra/system-info/linux/linux.factor b/basis/system-info/linux/linux.factor
similarity index 100%
rename from extra/system-info/linux/linux.factor
rename to basis/system-info/linux/linux.factor
diff --git a/extra/system-info/linux/tags.txt b/basis/system-info/linux/tags.txt
similarity index 100%
rename from extra/system-info/linux/tags.txt
rename to basis/system-info/linux/tags.txt
diff --git a/extra/system-info/macosx/authors.txt b/basis/system-info/macosx/authors.txt
similarity index 100%
rename from extra/system-info/macosx/authors.txt
rename to basis/system-info/macosx/authors.txt
diff --git a/extra/system-info/macosx/macosx.factor b/basis/system-info/macosx/macosx.factor
similarity index 100%
rename from extra/system-info/macosx/macosx.factor
rename to basis/system-info/macosx/macosx.factor
diff --git a/extra/system-info/macosx/tags.txt b/basis/system-info/macosx/tags.txt
similarity index 100%
rename from extra/system-info/macosx/tags.txt
rename to basis/system-info/macosx/tags.txt
diff --git a/extra/system-info/summary.txt b/basis/system-info/summary.txt
similarity index 100%
rename from extra/system-info/summary.txt
rename to basis/system-info/summary.txt
diff --git a/extra/system-info/system-info.factor b/basis/system-info/system-info.factor
similarity index 100%
rename from extra/system-info/system-info.factor
rename to basis/system-info/system-info.factor
diff --git a/extra/system-info/windows/authors.txt b/basis/system-info/windows/authors.txt
similarity index 100%
rename from extra/system-info/windows/authors.txt
rename to basis/system-info/windows/authors.txt
diff --git a/extra/system-info/windows/ce/authors.txt b/basis/system-info/windows/ce/authors.txt
similarity index 100%
rename from extra/system-info/windows/ce/authors.txt
rename to basis/system-info/windows/ce/authors.txt
diff --git a/extra/system-info/windows/ce/ce.factor b/basis/system-info/windows/ce/ce.factor
similarity index 100%
rename from extra/system-info/windows/ce/ce.factor
rename to basis/system-info/windows/ce/ce.factor
diff --git a/extra/system-info/windows/ce/tags.txt b/basis/system-info/windows/ce/tags.txt
similarity index 100%
rename from extra/system-info/windows/ce/tags.txt
rename to basis/system-info/windows/ce/tags.txt
diff --git a/extra/system-info/windows/nt/authors.txt b/basis/system-info/windows/nt/authors.txt
similarity index 100%
rename from extra/system-info/windows/nt/authors.txt
rename to basis/system-info/windows/nt/authors.txt
diff --git a/extra/system-info/windows/nt/nt.factor b/basis/system-info/windows/nt/nt.factor
similarity index 100%
rename from extra/system-info/windows/nt/nt.factor
rename to basis/system-info/windows/nt/nt.factor
diff --git a/extra/system-info/windows/nt/tags.txt b/basis/system-info/windows/nt/tags.txt
similarity index 100%
rename from extra/system-info/windows/nt/tags.txt
rename to basis/system-info/windows/nt/tags.txt
diff --git a/extra/system-info/windows/tags.txt b/basis/system-info/windows/tags.txt
similarity index 100%
rename from extra/system-info/windows/tags.txt
rename to basis/system-info/windows/tags.txt
diff --git a/extra/system-info/windows/windows.factor b/basis/system-info/windows/windows.factor
similarity index 100%
rename from extra/system-info/windows/windows.factor
rename to basis/system-info/windows/windows.factor
diff --git a/basis/windows/fonts/fonts.factor b/basis/windows/fonts/fonts.factor
index b8acf5d8d1..4e1310ff57 100755
--- a/basis/windows/fonts/fonts.factor
+++ b/basis/windows/fonts/fonts.factor
@@ -1,13 +1,23 @@
 USING: assocs memoize locals kernel accessors init fonts math
-combinators windows.errors windows.types windows.gdi32 ;
+combinators system-info.windows windows.errors windows.types
+windows.gdi32 ;
 IN: windows.fonts
 
-: windows-font-name ( string -- string' )
+MEMO: windows-fonts ( -- fonts )
+    windows-major 6 >=
+    H{
+        { "sans-serif" "Calibri" }
+        { "serif" "Cambria" }
+        { "monospace" "Consolas" }
+    }
     H{
         { "sans-serif" "Tahoma" }
         { "serif" "Times New Roman" }
         { "monospace" "Courier New" }
-    } ?at drop ;
+    } ? ;
+
+: windows-font-name ( string -- string' )
+    windows-fonts ?at drop ;
 
 MEMO:: (cache-font) ( font -- HFONT )
     font size>> neg ! nHeight
diff --git a/misc/vim/plugin/factor.vim b/misc/vim/plugin/factor.vim
index aedae9770f..ad6f92f3c0 100644
--- a/misc/vim/plugin/factor.vim
+++ b/misc/vim/plugin/factor.vim
@@ -1,6 +1,8 @@
 nmap <silent> <Leader>fi :FactorVocabImpl<CR>
 nmap <silent> <Leader>fd :FactorVocabDocs<CR>
 nmap <silent> <Leader>ft :FactorVocabTests<CR>
+nmap <Leader>fv :FactorVocab<SPACE>
+nmap <Leader>fn :NewFactorVocab<SPACE>
 
 if !exists("g:FactorRoot")
     let g:FactorRoot = "~/factor"