diff --git a/doc/html_generated/features.html b/doc/html_generated/features.html
index 27eaf42..5fd1e3c 100644
--- a/doc/html_generated/features.html
+++ b/doc/html_generated/features.html
@@ -5,9 +5,7 @@
 
 ## Features and design goals
 
-There are many C++ testing frameworks - [Catch](https://github.com/philsquared/Catch), [Boost.Test](http://www.boost.org/doc/libs/1_64_0/libs/test/doc/html/index.html), [UnitTest++](https://github.com/unittest-cpp/unittest-cpp), [cpputest](https://github.com/cpputest/cpputest), [googletest](https://github.com/google/googletest) and many [other](https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C.2B.2B).
-
-What makes **doctest** different is that it is ultra light on compile times (by [**orders of magnitude**](benchmarks.html#benchmarks)) and is unintrusive.
+**doctest** has been designed from the start to be as **light** and **unintrusive** as possible. These key features should be kept.
 
 ## Unintrusive (transparent):
 
@@ -20,7 +18,7 @@
 - all macros have prefixes - some by default have unprefixed versions as well but that is optional - see [**configuration**](configuration.html)
 - 0 warnings even with the most aggresive flags (on all tested compilers!!!)
 	- ```-Weverything -pedantic``` for **clang**
-	- ```-Wall -Wextra -pedantic``` and **>> over 35 <<** other warnings **not** covered by these flags for **GCC**!!! - see [**here**](../../scripts/common.cmake#L77)
+	- ```-Wall -Wextra -pedantic``` and **>> over 35 <<** other warnings **not** covered by these flags for **GCC**!!! - see [**here**](../../scripts/cmake/common.cmake#L84)
 	- ```/W4``` for **MSVC** (```/Wall``` is too much there - even their own headers produce **thousands** of warnings with that option)
 - doesn't error on unrecognized [**command line**](commandline.html) options and supports prefixes for interop with client command line parsing
 - can set options [**procedurally**](main.html) and not deal with passing ```argc```/```argv``` from the command line
@@ -29,8 +27,8 @@
 ## Extremely portable:
 
 - Standards compliant **C++98** code - should work with any **C++98** compiler
-- tested with **GCC**: **4.4**, **4.5**, **4.6**, **4.7**, **4.8**, **4.9**, **5**, **6**
-- tested with **Clang**: **3.4**, **3.5**, **3.6**, **3.7**, **3.8**, **3.9**
+- tested with **GCC**: **4.4**, **4.5**, **4.6**, **4.7**, **4.8**, **4.9**, **5**, **6**, **7**
+- tested with **Clang**: **3.4**, **3.5**, **3.6**, **3.7**, **3.8**, **3.9**, **4**
 - tested with **MSVC**: **2008**, **2010**, **2012**, **2013**, **2015**, **2017**
 - per-commit tested on **travis** and **appveyor** CI services
 	- warnings as errors even on the most aggressive warning levels - see [**here**](../../scripts/common.cmake#L71)
@@ -42,17 +40,6 @@
 	- tests are ran in more than **300** different configurations on UNIX (Linux + OSX) on **travis** CI
 	- tests are ran in a total of **24** different configurations on Windows on **appveyor** CI
 
-------
-
-This allows the framework to be used in more ways than any other - tests can be written directly in the production code!
-
-- This makes the barrier for writing tests **much lower** - you don't have to: **1.** make a separate source file **2.** include a bunch of stuff in it **3.** add it to the build system and **4.** add it to source control - You can just write the tests for a class or a piece of functionality at the bottom of its source file - or even header file!
-- Tests in the production code can be thought of as documentation or up-to-date comments - showing how an API is used
-- Testing internals that are not exposed through the public API and headers becomes easier!
-- [**Test-driven development**](https://en.wikipedia.org/wiki/Test-driven_development) in C++ has never been easier!
-
-The library can be used like any other if you don't like the idea of mixing production code and tests - see features below.
-
 ## Other features:
 
 - really easy to get started - it's just 1 header file - see the [**tutorial**](tutorial.html)
