diff --git a/CLA.md b/CLA.md
deleted file mode 100644
index 2ac6391..0000000
--- a/CLA.md
+++ /dev/null
@@ -1,32 +0,0 @@
-#YAHOO! OPEN SOURCE CONTRIBUTOR LICENSE AGREEMENT#
-Thank you for your interest in open source projects of Yahoo!, Inc. and its affiliates (“Yahoo!”). In order to clarify the intellectual property license granted with Contributions from any person or entity, Yahoo! must have a Contributor License Agreement (“CLA”) on file that has been signed by each contributor, indicating agreement to the license terms below. This license is for your protection as a contributor as well as for the protection of Yahoo! and its users; it does not change your rights to use your own Contributions for any other purpose.
-
-This version of the Agreement allows a person or entity to submit Contributions to Yahoo!, to authorize Contributions to Yahoo! submitted by an entity’s employees, and to grant copyright and patent licenses thereto.
-
-Please read this document carefully before signing and keep a copy for your records.
-
-##TERMS AND CONDITIONS##
-
-You accept and agree to the following terms and conditions for Your present and future Contributions submitted to Yahoo!, in return for the opportunity to have the Contributions be considered for inclusion in one or more Yahoo! open source projects. Except for the license granted herein to Yahoo! and recipients of software distributed or otherwise made available by Yahoo!, You reserve all right, title, and interest in and to Your Contributions.
-
-1. **Definitions.**
-
-    1.1 **“Contribution”** means any work of authorship (including software, documentation or other material), including any modifications or additions to an existing work, that is intentionally submitted by You to Yahoo! for inclusion in, or documentation of, any of the products or projects owned or managed by Yahoo! (the **“Work”**). For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to Yahoo! or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Yahoo! for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as “Not a Contribution.”
-
-    1.2 **“You”** (or **“Your”**) means the copyright owner, or legal entity authorized by the copyright owner, that is making this Agreement with Yahoo!. For legal entities, “You” (or “Your”) includes the entity making a Contribution, or on behalf of which the Contribution is made, and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, (b) ownership of fifty percent (50%) or more of the outstanding shares, or (c) beneficial ownership of such entity.
-
-2. **Grant of Copyright License.** Subject to the terms and conditions of this Agreement, You hereby grant to Yahoo! and to recipients of software distributed or otherwise made available by Yahoo! a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute and otherwise make available Your Contributions and such derivative works.
-
-3. **Grant of Patent License.** Subject to the terms and conditions of this Agreement, You hereby grant to Yahoo! and to recipients of software distributed or otherwise made available by Yahoo! a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) were submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that Your Contribution, or the Work to which You have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.
-
-4. **Representations.**
-
-    4.1 You represent that You are legally entitled to grant the above license and enter into this Agreement, whether on behalf of Yourself (if You are an individual person) or on behalf of the entity which You represent (if You are an entity). If You are an individual and Your employer(s) has rights to intellectual property that You create that includes Your Contributions, You represent that You have received permission to make Contributions on behalf of that employer, that Your employer has waived such rights for Your Contributions to Yahoo!, or that Your employer has executed a separate CLA with Yahoo!. If You are an entity rather than an individual, You represent further that each employee of the entity designated on Schedule A below (or in a subsequent written modification to that Schedule) is authorized to submit Contributions on behalf of the entity.
-
-    4.2 You represent that each of Your Contributions is Your original creation (see Section 6 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, not limited to, related patents and trademarks) of which You are personally aware and which are associated with any part of Your Contributions.
-
-5. **Disclaimer.** You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.
-
-6. **Third Party Contributions.** Should You wish to submit work that is not Your original creation, You may submit it to Yahoo! separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which You are personally aware, and conspicuously marking the work as “Submitted on behalf of a third-party: [named here]”.
-
-7. **Notice.** It is Your responsibility to notify Yahoo! when any change is required to the list of designated employees authorized to submit Contributions on behalf of the entity, or to the entity’s point of contact with Yahoo!.
diff --git a/CLA.pdf b/CLA.pdf
deleted file mode 100644
index 66b445b..0000000
--- a/CLA.pdf
+++ /dev/null
Binary files differ
