diff --git a/install.sh b/install.sh
index 21df6785d19ea421580ce6948925330b7327e93c..65619b531916770ace037327479e9035d10e0e1e 100755
--- a/install.sh
+++ b/install.sh
@@ -23,19 +23,7 @@ fi
 back_one=`cd .. 2>/dev/null && pwd`
 parent=`basename $back_one`
 
-mkdir -p meta
-cd meta
-if [ ! -e $metadb ]; then
-  SQLITE3=`which sqlite3`
-  if [ -z "$SQLITE3" ]; then
-  	echo "SQLlite3 is required to continue installation. Please add it to your \$PATH."
-  	exit 1
-  fi
-  $SQLITE3 $metadb 'CREATE TABLE document (uri varcharg(1000), doc varchar(1000), format varchar(50));'
-else
-  echo "WARNING: SQLite database already exists."
-fi
-cd ..
+utils/create_db.sh $metadb
 
 while [ "$everything_ok" != "y" ]; do
   echo
diff --git a/utils/create_db.sh b/utils/create_db.sh
new file mode 100755
index 0000000000000000000000000000000000000000..285062c2c4a538399e2bde10b7a66bf33006b6df
--- /dev/null
+++ b/utils/create_db.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if [[ "$1" = "" ]]; then
+  echo Usage: $0 sqliteFile
+  exit 1
+fi
+
+mkdir -p meta
+cd meta
+if [ ! -e $1 ]; then
+  SQLITE3=`which sqlite3`
+  if [ -z "$SQLITE3" ]; then
+  	echo "SQLlite3 is required to continue installation. Please add it to your \$PATH."
+  	exit 1
+  fi
+  $SQLITE3 $1 'CREATE TABLE document (uri varcharg(1000), doc varchar(1000), format varchar(50));'
+else
+  echo "WARNING: SQLite database already exists."
+fi
+cd ..