diff --git a/README.md b/README.md
index f0a8ac0..733b79c 100644
--- a/README.md
+++ b/README.md
@@ -55,7 +55,7 @@ let post = fetchPost "the-post-id" conn |> Async.RunSynchronously
```fsharp
// Function names cannot be polymorphic the way object-oriented methods can, so filter's three overloads become
-filter r.HashMap("age", 30)
+filter (r.HashMap ("age", 30))
// and
filterFunc (fun row -> row.["age"].Eq(30))
// and
diff --git a/src/RethinkDb.Driver.FSharp/Functions.fs b/src/RethinkDb.Driver.FSharp/Functions.fs
index 0685b3b..c48fd45 100644
--- a/src/RethinkDb.Driver.FSharp/Functions.fs
+++ b/src/RethinkDb.Driver.FSharp/Functions.fs
@@ -65,6 +65,15 @@ let indexCreate indexName conn (table : Ast.Table) =
table.IndexCreate indexName
|> asyncReqlResult conn
+/// Create an index on the given table using a function
+let indexCreateFunc indexName (f : Ast.ReqlExpr -> obj) conn (table : Ast.Table) =
+ table.IndexCreate (indexName, Ast.ReqlFunction1 f)
+ |> asyncReqlResult conn
+
+let indexCreateJS indexName jsString conn (table : Ast.Table) =
+ table.IndexCreate (indexName, Ast.Javascript (jsString :> obj))
+ |> asyncReqlResult conn
+
/// Get a document by its primary key
let get documentId (table : Ast.Table) =
table.Get documentId
diff --git a/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj b/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj
index 9551936..425c1c4 100644
--- a/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj
+++ b/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj
@@ -12,7 +12,7 @@
See LICENSE
RethinkDB document F#
0.7.0
- alpha-0001
+ alpha-0002
@@ -21,8 +21,9 @@
-
+
+