- updated feature detection a bit
- updated docs
diff --git a/doc/markdown/roadmap.md b/doc/markdown/roadmap.md
index 3a2a97f..610c026 100644
--- a/doc/markdown/roadmap.md
+++ b/doc/markdown/roadmap.md
@@ -14,7 +14,6 @@
 - add ```ERROR```/```FAIL``` macros (also ```ADD_FAILURE_AT(file, line);``` and extend the asserts to have ```_AT``` variants)
 - Parametric test cases (Value/Type-parameterized tests) - https://github.com/onqtam/doctest/issues/38
 - crash handling: signals on UNIX platforms or structured exceptions on Windows (should also have DOCTEST_CONFIG_NO_SIGNAL_CATCHING)
-- add a "wait key" option - as requested [here](https://github.com/philsquared/Catch/issues/477#issuecomment-256417686)
 - runtime performance
     - the set holding all registered tests should use a specialized allocator to minimize program startup time
     - lazily stringify expressions - only when needed
@@ -26,6 +25,7 @@
     - remove old benchmarks for doctest 1.0
     - add runtime benchmarks
 - change docs a bit - mainly what is in the landing page (add link to overload)
+- address the coverage issue...
 
 ### For 1.3:
 
@@ -95,6 +95,7 @@
 - utf8???
 - handle ```wchar``` strings???
 - hierarchical test suites - using a stack for the pushed ones
+- add a "wait key" option - as requested [here](https://github.com/philsquared/Catch/issues/477#issuecomment-256417686)
 - ability to specify the width of the terminal in terms of characters (for example 60 - less than 80 - the default)
 - ability to re-run only newly compiled tests based on time stamps using ```__DATE__``` and ```__TIME__``` - stored in some file
 - add underscores to all preprocessor identifiers not intended for use by the user
diff --git a/doctest/doctest.h b/doctest/doctest.h
index a24d179..3130649 100644
--- a/doctest/doctest.h
+++ b/doctest/doctest.h
@@ -120,11 +120,9 @@
 #define DOCTEST_CONFIG_WITH_NULLPTR
 #endif // __has_feature(cxx_nullptr)
 #endif // __clang__
-
-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ >= 6 && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
 #define DOCTEST_CONFIG_WITH_NULLPTR
 #endif // __GNUC__
-
 #if defined(_MSC_VER) && (_MSC_VER >= 1600) // MSVC 2010
 #define DOCTEST_CONFIG_WITH_NULLPTR
 #endif // _MSC_VER
@@ -137,10 +135,12 @@
 // variadic macros
 
 #ifndef DOCTEST_CONFIG_WITH_VARIADIC_MACROS
-#if (defined _MSC_VER && _MSC_VER > 1400 && !defined __EDGE__) || \
-    (defined __WAVE__ && __WAVE_HAS_VARIADICS)
+#if defined(_MSC_VER) && _MSC_VER > 1400 && !defined(__EDGE__)
 #define DOCTEST_CONFIG_WITH_VARIADIC_MACROS
-#endif // var arg detection stuff
+#endif // _MSC_VER
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#define DOCTEST_CONFIG_WITH_VARIADIC_MACROS
+#endif // __GNUC__ and clang
 #endif // DOCTEST_CONFIG_WITH_VARIADIC_MACROS
 
 #if defined(DOCTEST_CONFIG_NO_VARIADIC_MACROS) && defined(DOCTEST_CONFIG_WITH_VARIADIC_MACROS)
@@ -150,9 +150,12 @@
 // long long
 
 #ifndef DOCTEST_CONFIG_WITH_LONG_LONG
-#if !defined(DOCTEST_CONFIG_WITH_LONG_LONG) && defined(_MSC_VER) && (_MSC_VER >= 1400)
+#if defined(_MSC_VER) && (_MSC_VER >= 1400)
 #define DOCTEST_CONFIG_WITH_LONG_LONG
 #endif // _MSC_VER
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#define DOCTEST_CONFIG_WITH_LONG_LONG
+#endif // __GNUC__ and clang
 #endif // DOCTEST_CONFIG_WITH_LONG_LONG
 
 #if defined(DOCTEST_CONFIG_NO_LONG_LONG) && defined(DOCTEST_CONFIG_WITH_LONG_LONG)
@@ -167,11 +170,9 @@
 #define DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // __has_feature(cxx_static_assert)
 #endif // __clang__
-
-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ >= 3 && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
 #define DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // __GNUC__
-
 #if defined(_MSC_VER) && (_MSC_VER >= 1600) // MSVC 2010
 #define DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // _MSC_VER
@@ -181,6 +182,8 @@
 #undef DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // DOCTEST_CONFIG_NO_STATIC_ASSERT
 
+// other stuff...
+
 #if defined(DOCTEST_CONFIG_WITH_NULLPTR) || defined(DOCTEST_CONFIG_WITH_LONG_LONG) ||              \
         defined(DOCTEST_CONFIG_WITH_STATIC_ASSERT)
 #define DOCTEST_NO_CPP11_COMPAT
diff --git a/doctest/parts/doctest_fwd.h b/doctest/parts/doctest_fwd.h
index ffb82b4..3ff3fbd 100644
--- a/doctest/parts/doctest_fwd.h
+++ b/doctest/parts/doctest_fwd.h
@@ -117,11 +117,9 @@
 #define DOCTEST_CONFIG_WITH_NULLPTR
 #endif // __has_feature(cxx_nullptr)
 #endif // __clang__
-
-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ >= 6 && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
 #define DOCTEST_CONFIG_WITH_NULLPTR
 #endif // __GNUC__
-
 #if defined(_MSC_VER) && (_MSC_VER >= 1600) // MSVC 2010
 #define DOCTEST_CONFIG_WITH_NULLPTR
 #endif // _MSC_VER
@@ -134,10 +132,12 @@
 // variadic macros
 
 #ifndef DOCTEST_CONFIG_WITH_VARIADIC_MACROS
-#if (defined _MSC_VER && _MSC_VER > 1400 && !defined __EDGE__) || \
-    (defined __WAVE__ && __WAVE_HAS_VARIADICS)
+#if defined(_MSC_VER) && _MSC_VER > 1400 && !defined(__EDGE__)
 #define DOCTEST_CONFIG_WITH_VARIADIC_MACROS
-#endif // var arg detection stuff
+#endif // _MSC_VER
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#define DOCTEST_CONFIG_WITH_VARIADIC_MACROS
+#endif // __GNUC__ and clang
 #endif // DOCTEST_CONFIG_WITH_VARIADIC_MACROS
 
 #if defined(DOCTEST_CONFIG_NO_VARIADIC_MACROS) && defined(DOCTEST_CONFIG_WITH_VARIADIC_MACROS)
@@ -147,9 +147,12 @@
 // long long
 
 #ifndef DOCTEST_CONFIG_WITH_LONG_LONG
-#if !defined(DOCTEST_CONFIG_WITH_LONG_LONG) && defined(_MSC_VER) && (_MSC_VER >= 1400)
+#if defined(_MSC_VER) && (_MSC_VER >= 1400)
 #define DOCTEST_CONFIG_WITH_LONG_LONG
 #endif // _MSC_VER
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#define DOCTEST_CONFIG_WITH_LONG_LONG
+#endif // __GNUC__ and clang
 #endif // DOCTEST_CONFIG_WITH_LONG_LONG
 
 #if defined(DOCTEST_CONFIG_NO_LONG_LONG) && defined(DOCTEST_CONFIG_WITH_LONG_LONG)
@@ -164,11 +167,9 @@
 #define DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // __has_feature(cxx_static_assert)
 #endif // __clang__
-
-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ >= 3 && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)
 #define DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // __GNUC__
-
 #if defined(_MSC_VER) && (_MSC_VER >= 1600) // MSVC 2010
 #define DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // _MSC_VER
@@ -178,6 +179,8 @@
 #undef DOCTEST_CONFIG_WITH_STATIC_ASSERT
 #endif // DOCTEST_CONFIG_NO_STATIC_ASSERT
 
+// other stuff...
+
 #if defined(DOCTEST_CONFIG_WITH_NULLPTR) || defined(DOCTEST_CONFIG_WITH_LONG_LONG) ||              \
         defined(DOCTEST_CONFIG_WITH_STATIC_ASSERT)
 #define DOCTEST_NO_CPP11_COMPAT
diff --git a/scripts/random_dev_notes.md b/scripts/random_dev_notes.md
index cd3dc25..f1f0123 100644
--- a/scripts/random_dev_notes.md
+++ b/scripts/random_dev_notes.md
@@ -1,6 +1,7 @@
 
 
 
+CAPTURE/INFO - relates #48 relates #23