diff --git a/README.md b/README.md
index da8255b..b56d92a 100644
--- a/README.md
+++ b/README.md
@@ -25,35 +25,17 @@
 
 =================
 
-# DataSketches UDF/UDAF Adaptors for Apache Pig 
-Please refer to our [website](https://datasketches.apache.org) for more comprehensive information about the various sketching algorithms and how to use them.
+# DataSketches Java UDF/UDAF Adaptors for Apache Pig 
 
-## Documentation
+Please visit the main [DataSketches website](https://datasketches.apache.org) for more information. 
 
-### [DataSketches Library Website](https://datasketches.apache.org/)
-
-### [Java Core Overview](https://datasketches.apache.org/docs/TheChallenge.html)
-
-### [Java Core Javadocs](https://datasketches.apache.org/api/core/snapshot/apidocs/index.html)
+If you are interested in making contributions to this site please see our [Community](https://datasketches.apache.org/docs/Community/) page for how to contact us.
 
 ### Hadoop Pig UDFs 
-See relevant sections under the different sketch types in Java Core Overview
-
-
-## Downloading Latest Release
-__NOTE:__ This component accesses resource files for testing. As a result, the directory elements of the full absolute path of the target installation directory 
-    must qualify as Java identifiers. In other words, the directory elements must not have any space characters (or non-Java identifier characters) in any of the path elements.
-    
-This is required by the Oracle Java Specification in order to ensure location-independent 
-    access to resources: [See Oracle Location-Independent Access to Resources](https://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html)
-
-### [Zip File from www.apache.org/dist](http://www.apache.org/dist/incubator/datasketches/pig/)
-
-### [Jar Files from Maven Central](https://repository.apache.org/content/repositories/releases/org/apache/datasketches/datasketches-pig/)
-
-### [GitHub](https://github.com/apache/incubator-datasketches-pig/releases)
+See relevant sections under the different sketch types in Java Core Documentation.
 
 ## Build Instructions
+__NOTE:__ This component accesses resource files for testing. As a result, the directory elements of the full absolute path of the target installation directory must qualify as Java identifiers. In other words, the directory elements must not have any space characters (or non-Java identifier characters) in any of the path elements. This is required by the Oracle Java Specification in order to ensure location-independent access to resources: [See Oracle Location-Independent Access to Resources](https://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html)
 
 ### JDK8 is required to compile
 This DataSketches component is pure Java and you must compile using JDK 8.
@@ -96,13 +78,6 @@
 #### Testing
 See the pom.xml file for test dependencies.
 
-## How to Contact Us
-* We have two ASF [the-ASF.slack.com](http://the-ASF.slack.com) slack channels:
-    * datasketches -- general user questions
-    * datasketches-dev -- similar to our Apache [Developers Mail list](https://lists.apache.org/list.html?dev@datasketches.apache.org), except more interactive, but not as easily searchable.
+----
 
-* For bugs and performance issues: [Issues for datasketches-pig](https://github.com/apache/incubator-datasketches-pig/issues) 
-
-* For general questions about using the library please subscribe: [Users Mail List](https://lists.apache.org/list.html?users@datasketches.apache.org)
-
-* If you are interested in contributing please subscribe: [Developers Mail list](https://lists.apache.org/list.html?dev@datasketches.apache.org)
+Disclaimer: Apache DataSketches is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
