diff --git a/lang/cs/BUILD.md b/lang/cs/BUILD.md
index 249444d..4700f2b 100644
--- a/lang/cs/BUILD.md
+++ b/lang/cs/BUILD.md
@@ -18,15 +18,25 @@
 -->
 
 Building and Testing REEF .NET
-==================
+==============================
 
 Prerequisites
 -------------
 
-  * Windows OS.
-  * [Building REEF Java](../java/BUILD.md).
-  * [Visual Studio](http://www.visualstudio.com) 2015 (preferred) or 2013. Most REEF developers use the free Community Edition.
-  * NuGet 2.8.6 or later.
+  * Windows OS including Windows 8,10,Server 2012 and Server 2016.
+  * Same prerequisites as REEF Java ([Building REEF Java](../java/BUILD.md)), which includes:
+     * [Apache Maven](https://maven.apache.org/download.cgi) 3.3 or newer
+     * Java development kit version 7 or 8 
+     * [Protoc version 2.5](https://github.com/google/protobuf/releases/tag/v2.5.0)
+  * Set the following environment variables:
+     * Set `M2_HOME` environment variable to location of maven installation
+     * Set `JAVA_HOME` environment variable to java installation directory
+  * Add the following items to the environment variable `PATH`:
+     * Add the location of the `protoc.exe` executable in the windows path
+     * Add `%JAVA_HOME%/bin` and `%M2_HOME%/bin` to the windows path as well
+  * [Visual Studio](http://www.visualstudio.com) 2015 (preferred) or 2013. Most REEF developers use the free Community
+    Edition.
+  * NuGet 2.8.6 or later. (Included in VS 2015)
   * xunit.runner.console.2.1.0 package (installing it might require manual restore of NuGet packages).
 
 
@@ -52,10 +62,10 @@
 `TestRunner.proj` already has a filter set up to exclude Yarn tests.
 
 Continuous Integration
-------------
+----------------------
 
-We use [AppVeyor](https://www.appveyor.com/) to run continuous integration for REEF .NET code (i.e. build code and run tests
-for all pull requests and commits to master branch).
+We use [AppVeyor](https://www.appveyor.com/) to run continuous integration for REEF .NET code (i.e. build code and run
+tests for all pull requests and commits to master branch).
 
 It can be convenient to set up AppVeyor for your fork of REEF repository, for example, to reproduce a test failure which
 can't be reproduced locally or to get AppVeyor test run results earlier than the official ones.
@@ -77,29 +87,3 @@
 
 `nuget restore` is necessary to install `xunit.runner.console` package, which by default is installed in `TestRunner.proj`.
 
-Instructions on Building and Testing REEF .NET from Scratch
-------------
-
-Here is a step-by-step guide, if the instructions above didn't work and/or you prefer to build REEF .NET from Windows Command Prompt/PowerShell.
-
-1. Install Java Development Kit 7 or 8. Set `JAVA_HOME` as an Environment Variable
-    * Go [here](http://www.oracle.com/technetwork/java/javase/downloads) to download and install appropriate JDK
-    * Go to System Properties -> Environment Variables -> System Variables -> New...
-    * Create a variable called `JAVA_HOME` and set the value to be your jdk installation dir, like C:\Program Files\Java\jdk1.8.0_91
-    * Update the Environment Variable `Path` by adding `%JAVA_HOME%\bin`
-
-2. Install Maven 3.3.9. Set `M2_HOME` and `M2` as Environment Variables
-    * Go [here](https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/) to download apache-maven-3.3.9-bin.zip
-    * Unzip it and place it to your desired location
-    * Create an Environment Variable called `M2_HOME` and set the value to be your unzip location, like C:\Program Files\Apache\apache-maven-3.3.9
-    * Create another variable called `M2` and set the value to be `%M2_HOME%\bin`
-    * Update the Environment Variable `Path` by adding `%M2%` and `%M2_HOME%`
-
-3. Install Protocol Buffer 2.5. Add its path as an Environment Variable
-    * Go [here](https://github.com/google/protobuf/releases/tag/v2.5.0) to download protoc-2.5.0-win32.zip
-    * Unzip it and place it to your desired location. Make sure that protoc.exe is in that folder
-    * Update the Environment Variable `Path` by adding the unzip location, like C:\protobuf-2.5.0\src\protoc-2.5.0-win32
-
-4. Git clone the repo to your local machine: `git clone git@github.com:apache/reef.git`
-
-5. To build REEF.NET from command line, execute: `msbuild .\lang\cs\Org.Apache.REEF.sln`
diff --git a/lang/java/BUILD.md b/lang/java/BUILD.md
index cbae5ab..4687530 100644
--- a/lang/java/BUILD.md
+++ b/lang/java/BUILD.md
@@ -28,14 +28,22 @@
     Make sure that `mvn` is in your `$PATH` and `$M2_HOME` points to its installation.
   * [Protocol Buffers Compiler version 2.5](https://github.com/google/protobuf/releases/tag/v2.5.0).
     Make sure that `protoc` is on your `PATH`.
+  * Supported OSs where code was successfully built:
+       * Windows : Windows 8, 10, Server 2012,2016
+       * Linux: Ubuntu versions 16.04 and 16.10
+       * macOS
 
 Build Instructions
-------------
+------------------
+
+The REEF unit tests require a number of open files which is greater than the default open file limit on a number of Linux distributions such as Ubuntu 16.04/16.10.  This limit is controlled in the shell by the "ulimit -n" command
 
 The Java side of REEF is built using Apache Maven. To build and run tests, execute:
 
     mvn clean install
 
+REEF integration tests can take a while (~30 minutes on a modern multi-core machine), it may be faster to run one of the commands below which skips these tests.
+
 To perform build alone without tests in a multithreaded mode, execute
 
     mvn -TC1 -DskipTests clean install
@@ -44,6 +52,7 @@
 
     mvn clean install -DskipTests -TC1 -P!code-quality
 
+
 Test Instructions
 ------------
 
