diff --git a/src/csharp/README.md b/src/csharp/README.md
index 21aab5211806f3a402b0e7df4d125fd07f8a7e94..37aa2ecddcd26e38fcd3365176e9ac5e561890f0 100644
--- a/src/csharp/README.md
+++ b/src/csharp/README.md
@@ -4,74 +4,117 @@ gRPC C#
 A C# implementation of gRPC.
 
 Status
------------------
+------
 
-**This gRPC C# implementation is work-in-progress and is not expected to work yet.**
+Ready for early adopters.
 
-- The implementation is a wrapper around gRPC C core library
-- Code only runs under mono currently, building gRPC C core library under Windows
-  is in progress.
-- It is very possible that some parts of the code will be heavily refactored or
-  completely rewritten.
+Usage: Windows
+--------------
 
+- Prerequisites: .NET Framework 4.5+, Visual Studio 2013 with NuGet extension installed (VS2015 should work).
 
-INSTALLATION AND USAGE: WINDOWS
--------------------------------
+- Open Visual Studio and start a new project/solution.
 
-- Open Grpc.sln using Visual Studio 2013. NuGet dependencies will be restored
-  upon build.
+- Add NuGet package `Grpc` as a dependency (Project options -> Manage NuGet Packages).
+  That will also pull all the transitive dependencies (including the native libraries that
+  gRPC C# is internally using).
 
+- TODO: link to Helloworld example
 
-INSTALLATION AND USAGE: LINUX & MONO
-------------------------------------
+Usage: Linux (Mono)
+--------------
 
-- Compile and install the gRPC C# extension library (that will be used via
-  P/Invoke from C#).
+- Prerequisites: Mono framework, MonoDevelop 5.9 with NuGet add-in installed.
+
+- Install gRPC C Core using instructions in https://github.com/grpc/homebrew-grpc
+
+- TODO: explain using LD_LIBRARY_PATH or installation to /usr/local
+
+- Open MonoDevelop and start a new project/solution.
+
+- Add NuGet package `Grpc` as a dependency (Project -> Add NuGet packages).
+
+- TODO: link to Helloworld example
+
+Building: Windows
+-----------------
+
+You only need to go through these steps if you are planning to develop gRPC C#.
+If you are a user of gRPC C#, go to Usage section above.
+
+- Prerequisites for development: NET Framework 4.5+, Visual Studio 2013 (with NuGet and NUnit extensions installed).
+
+- The grpc_csharp_ext native library needs to be built so you can build the Grpc C# solution. You can 
+  either build the native solution in `vsprojects/grpc.sln` from Visual Studio manually, or you can use
+  a convenience batch script that builds everything for you.
 ```
-make grpc_csharp_ext
-sudo make install_grpc_csharp_ext
+buildall.bat
 ```
 
-- Prerequisites for development: Mono framework, MonoDevelop (IDE)
+- Open Grpc.sln using Visual Studio 2013. NuGet dependencies will be restored
+  upon build (you need to have NuGet add-in installed).
+
+
+Building: Linux & Mono
+----------------------
+
+You only need to go through these steps if you are planning to develop gRPC C#.
+If you are a user of gRPC C#, go to Usage section above.
+
+- Prerequisites for development: Mono framework, MonoDevelop 5.9 with NuGet and Nunit add-ins installed.
 ```
 sudo apt-get install mono-devel
-sudo apt-get install monodevelop monodevelop-nunit
 sudo apt-get install nunit nunit-console
 ```
 
-- NuGet is used to manage project's dependencies. Prior opening Grpc.sln,
-  download dependencies using NuGet restore command:
+You can use older versions of MonoDevelop, but then you might need to restore
+NuGet dependencies manually (by `nuget restore`), because older versions of MonoDevelop
+don't support NuGet add-in.
 
+- Compile and install the gRPC C# extension library (that will be used via
+  P/Invoke from C#).
 ```
-# Import needed certicates into Mono certificate store:
-mozroots --import --sync
-
-# Download NuGet.exe http://nuget.codeplex.com/releases/
-# Restore the nuget packages with Grpc C# dependencies
-mono ~/Downloads/NuGet.exe restore Grpc.sln
+make grpc_csharp_ext
+sudo make install_grpc_csharp_ext
 ```
 
-- Use MonoDevelop to open the solution Grpc.sln (you can also run unit tests
-  from there).
+- Use MonoDevelop to open the solution Grpc.sln
+
+- Build the solution & run all the tests from test view.
+
+Tests
+-----
 
-- After building the solution with MonoDevelop, you can use
-  nunit-console to run the unit tests (currently only running one by
-  one will make them pass.
+gRPC C# is using NUnit as the testing framework.
+
+Under Visual Studio, make sure NUnit test adapter is installed (under "Extensions and Updates").
+Then you should be able to run all the tests using Test Explorer.
+
+Under Monodevelop, make sure you installed "NUnit support" in Add-in manager.
+Then you should be able to run all the test from the Test View.
+
+After building the solution, you can also run the tests from command line 
+using nunit-console tool.
 
 ```
+# from Grpc.Core.Test/bin/Debug directory
 nunit-console Grpc.Core.Tests.dll
 ```
 
-CONTENTS
+Contents
 --------
 
 - ext:
   The extension library that wraps C API to be more digestible by C#.
+- Grpc.Auth:
+  gRPC OAuth2 support.
 - Grpc.Core:
   The main gRPC C# library.
 - Grpc.Examples:
   API examples for math.proto
 - Grpc.Examples.MathClient:
   An example client that sends some requests to math server.
+- Grpc.Examples.MathServer:
+  An example client that sends some requests to math server.
 - Grpc.IntegrationTesting:
-  Client for cross-language gRPC implementation testing (interop testing).
+  Cross-language gRPC implementation testing (interop testing).