diff --git a/.travis.yml b/.travis.yml
index c5f7d8f..bc3de2d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,341 +1,342 @@
-sudo: false
-language: c++
-
-notifications:
-  email:
-    on_success: change
-    on_failure: always
-  # gitter
-  webhooks:
-    urls: https://webhooks.gitter.im/e/10941dd1c67e5e967706
-    on_success: change
-    on_failure: always
-git:
-  depth: 5
-
-env:
-  global:
-    - CMAKE_OPTIONS_GLOBAL="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
-  # Workaround for https://github.com/travis-ci/travis-ci/issues/4681
-  # "Defining the build matrix only with matrix.include leads to an additional, unwanted job"
-  matrix:
-    - TRAVIS_EMPTY_JOB_WORKAROUND=true
-
-# these apt sources will be referenced later (by using *name)
-addons:
-  apt:
-    sources: &apt_sources
-      - ubuntu-toolchain-r-test
-      - llvm-toolchain-precise-3.5
-      - llvm-toolchain-precise-3.6
-      - llvm-toolchain-precise-3.7
-      - llvm-toolchain-precise-3.8
-      - llvm-toolchain-precise
-
-compiler: clang
-os: linux
-
-matrix:
-  exclude:
-    - env: TRAVIS_EMPTY_JOB_WORKAROUND=true
-
-  include:
-    # coverage
-    - env: COMPILER=g++ COVERALLS_SERVICE_NAME=travis-ci
-      compiler: gcc
-      addons:
-        apt:
-          packages: ["lcov", "curl"]
-
-    # GCC 4.4
-    - env: COMPILER=g++-4.4
-      compiler: gcc
-      addons: &gcc44
-        apt:
-          packages: ["g++-4.4", "valgrind", "g++-4.4-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # GCC 4.5
-    - env: COMPILER=g++-4.5
-      compiler: gcc
-      addons: &gcc45
-        apt:
-          packages: ["g++-4.5", "valgrind", "g++-4.5-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # GCC 4.6
-    - env: COMPILER=g++-4.6
-      compiler: gcc
-      addons: &gcc46
-        apt:
-          packages: [           "valgrind", "g++-4.6-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # GCC 4.7
-    - env: COMPILER=g++-4.7
-      compiler: gcc
-      addons: &gcc47
-        apt:
-          packages: ["g++-4.7", "valgrind", "g++-4.7-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # GCC 4.8
-    - env: COMPILER=g++-4.8 HAS_ASAN_32=true HAS_ASAN_64=true
-      compiler: gcc
-      addons: &gcc48
-        apt:
-          packages: ["g++-4.8", "valgrind", "g++-4.8-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # GCC 4.9
-    - env: COMPILER=g++-4.9 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
-      compiler: gcc
-      addons: &gcc49
-        apt:
-          packages: ["g++-4.9", "valgrind", "g++-4.9-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # GCC 5
-    - env: COMPILER=g++-5 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
-      compiler: gcc
-      addons: &gcc5
-        apt:
-          packages: ["g++-5",   "valgrind", "g++-5-multilib",   "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-#    # GCC 6
-#    # released on 2016.04.27
-#    # wait for it to enter the whitelist - https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
-#    # also with homebrew under OSX!!!
-#    - env: COMPILER=g++-6 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+#sudo: false
+#language: c++
+#
+#notifications:
+#  email:
+#    on_success: change
+#    on_failure: always
+#  # gitter
+#  webhooks:
+#    urls: https://webhooks.gitter.im/e/10941dd1c67e5e967706
+#    on_success: change
+#    on_failure: always
+#git:
+#  depth: 5
+#
+#env:
+#  global:
+#    - CMAKE_OPTIONS_GLOBAL="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
+#  # Workaround for https://github.com/travis-ci/travis-ci/issues/4681
+#  # "Defining the build matrix only with matrix.include leads to an additional, unwanted job"
+#  matrix:
+#    - TRAVIS_EMPTY_JOB_WORKAROUND=true
+#
+## these apt sources will be referenced later (by using *name)
+#addons:
+#  apt:
+#    sources: &apt_sources
+#      - ubuntu-toolchain-r-test
+#      - llvm-toolchain-precise-3.5
+#      - llvm-toolchain-precise-3.6
+#      - llvm-toolchain-precise-3.7
+#      - llvm-toolchain-precise-3.8
+#      - llvm-toolchain-precise
+#
+#compiler: clang
+#os: linux
+#
+#matrix:
+#  exclude:
+#    - env: TRAVIS_EMPTY_JOB_WORKAROUND=true
+#
+#  include:
+#    # coverage
+#    - env: COMPILER=g++ COVERALLS_SERVICE_NAME=travis-ci
 #      compiler: gcc
-#      addons: &gcc6
+#      addons:
 #        apt:
-#          packages: ["g++-6",   "valgrind", "g++-6-multilib",   "libc6-dbg", "libc6-dbg:i386"]
+#          packages: ["lcov", "curl"]
+#
+#    # GCC 4.4
+#    - env: COMPILER=g++-4.4
+#      compiler: gcc
+#      addons: &gcc44
+#        apt:
+#          packages: ["g++-4.4", "valgrind", "g++-4.4-multilib", "libc6-dbg", "libc6-dbg:i386"]
 #          sources: *apt_sources
-
-    # Clang 3.4
-    - env: COMPILER=clang++ HAS_ASAN_64=true HAS_UBSAN_64=true
-      addons: &clang
-        apt:
-          packages: [             "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # Clang 3.5
-    - env: COMPILER=clang++-3.5 HAS_ASAN_64=true HAS_UBSAN_64=true
-      addons: &clang35
-        apt:
-          packages: ["clang-3.5", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # Clang 3.6
-    - env: COMPILER=clang++-3.6 HAS_ASAN_64=true HAS_UBSAN_64=true
-      addons: &clang36
-        apt:
-          packages: ["clang-3.6", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # Clang 3.7
-    - env: COMPILER=clang++-3.7 # no sanitizers - not even for 64 bit - https://llvm.org/bugs/show_bug.cgi?id=22757
-      addons: &clang37
-        apt:
-          packages: ["clang-3.7", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # Clang 3.8
-    - env: COMPILER=clang++-3.8 # no sanitizers - not even for 64 bit - https://llvm.org/bugs/show_bug.cgi?id=22757
-      addons: &clang38
-        apt:
-          packages: ["clang-3.8", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
-          sources: *apt_sources
-
-    # Xcode 6.1 Clang
-    - env: COMPILER=clang++
-      os: osx
-
-    # Xcode 6.2 Clang
-    - env: COMPILER=clang++
-      osx_image: beta-xcode6.2
-      os: osx
-
-    # Xcode 6.3 Clang
-    - env: COMPILER=clang++
-      osx_image: beta-xcode6.3
-      os: osx
-
-    # Xcode 6.4 Clang
-    - env: COMPILER=clang++
-      osx_image: xcode6.4
-      os: osx
-
-    # Xcode 7 Clang
-    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
-      osx_image: xcode7
-      os: osx
-
-    # Xcode 7.1 Clang
-    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
-      osx_image: xcode7.1
-      os: osx
-
-    # Xcode 7.2 Clang
-    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
-      osx_image: xcode7.2
-      os: osx
-
-    # Xcode 7.3 Clang
-    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
-      osx_image: xcode7.3
-      os: osx
-
-    # OSX GCC 4.4
-    - env: COMPILER=g++-4.4
-      compiler: gcc
-      os: osx
-
-    # OSX GCC 4.5
-    - env: COMPILER=g++-4.5
-      compiler: gcc
-      os: osx
-
-    # OSX GCC 4.6
-    - env: COMPILER=g++-4.6
-      compiler: gcc
-      os: osx
-
-    # OSX GCC 4.7
-    - env: COMPILER=g++-4.7
-      compiler: gcc
-      os: osx
-
-    # OSX GCC 4.8
-    - env: COMPILER=g++-4.8 HAS_ASAN_32=true HAS_ASAN_64=true
-      compiler: gcc
-      os: osx
-
-    # OSX GCC 4.9
-    - env: COMPILER=g++-4.9 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
-      compiler: gcc
-      os: osx
-
-    # OSX GCC 5
-    - env: COMPILER=g++-5 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
-      compiler: gcc
-      os: osx
-
-#    # OSX GCC 6
-#    - env: COMPILER=g++-6 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+#
+#    # GCC 4.5
+#    - env: COMPILER=g++-4.5
+#      compiler: gcc
+#      addons: &gcc45
+#        apt:
+#          packages: ["g++-4.5", "valgrind", "g++-4.5-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # GCC 4.6
+#    - env: COMPILER=g++-4.6
+#      compiler: gcc
+#      addons: &gcc46
+#        apt:
+#          packages: [           "valgrind", "g++-4.6-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # GCC 4.7
+#    - env: COMPILER=g++-4.7
+#      compiler: gcc
+#      addons: &gcc47
+#        apt:
+#          packages: ["g++-4.7", "valgrind", "g++-4.7-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # GCC 4.8
+#    - env: COMPILER=g++-4.8 HAS_ASAN_32=true HAS_ASAN_64=true
+#      compiler: gcc
+#      addons: &gcc48
+#        apt:
+#          packages: ["g++-4.8", "valgrind", "g++-4.8-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # GCC 4.9
+#    - env: COMPILER=g++-4.9 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+#      compiler: gcc
+#      addons: &gcc49
+#        apt:
+#          packages: ["g++-4.9", "valgrind", "g++-4.9-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # GCC 5
+#    - env: COMPILER=g++-5 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+#      compiler: gcc
+#      addons: &gcc5
+#        apt:
+#          packages: ["g++-5",   "valgrind", "g++-5-multilib",   "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+##    # GCC 6
+##    # released on 2016.04.27
+##    # wait for it to enter the whitelist - https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
+##    # also with homebrew under OSX!!!
+##    - env: COMPILER=g++-6 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+##      compiler: gcc
+##      addons: &gcc6
+##        apt:
+##          packages: ["g++-6",   "valgrind", "g++-6-multilib",   "libc6-dbg", "libc6-dbg:i386"]
+##          sources: *apt_sources
+#
+#    # Clang 3.4
+#    - env: COMPILER=clang++ HAS_ASAN_64=true HAS_UBSAN_64=true
+#      addons: &clang
+#        apt:
+#          packages: [             "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # Clang 3.5
+#    - env: COMPILER=clang++-3.5 HAS_ASAN_64=true HAS_UBSAN_64=true
+#      addons: &clang35
+#        apt:
+#          packages: ["clang-3.5", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # Clang 3.6
+#    - env: COMPILER=clang++-3.6 HAS_ASAN_64=true HAS_UBSAN_64=true
+#      addons: &clang36
+#        apt:
+#          packages: ["clang-3.6", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # Clang 3.7
+#    - env: COMPILER=clang++-3.7 # no sanitizers - not even for 64 bit - https://llvm.org/bugs/show_bug.cgi?id=22757
+#      addons: &clang37
+#        apt:
+#          packages: ["clang-3.7", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # Clang 3.8
+#    - env: COMPILER=clang++-3.8 # no sanitizers - not even for 64 bit - https://llvm.org/bugs/show_bug.cgi?id=22757
+#      addons: &clang38
+#        apt:
+#          packages: ["clang-3.8", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
+#          sources: *apt_sources
+#
+#    # Xcode 6.1 Clang
+#    - env: COMPILER=clang++
+#      os: osx
+#
+#    # Xcode 6.2 Clang
+#    - env: COMPILER=clang++
+#      osx_image: beta-xcode6.2
+#      os: osx
+#
+#    # Xcode 6.3 Clang
+#    - env: COMPILER=clang++
+#      osx_image: beta-xcode6.3
+#      os: osx
+#
+#    # Xcode 6.4 Clang
+#    - env: COMPILER=clang++
+#      osx_image: xcode6.4
+#      os: osx
+#
+#    # Xcode 7 Clang
+#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
+#      osx_image: xcode7
+#      os: osx
+#
+#    # Xcode 7.1 Clang
+#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
+#      osx_image: xcode7.1
+#      os: osx
+#
+#    # Xcode 7.2 Clang
+#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
+#      osx_image: xcode7.2
+#      os: osx
+#
+#    # Xcode 7.3 Clang
+#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
+#      osx_image: xcode7.3
+#      os: osx
+#
+#    # OSX GCC 4.4
+#    - env: COMPILER=g++-4.4
 #      compiler: gcc
 #      os: osx
-
-    # OSX LLVM-GCC
-    - env: COMPILER=g++
-      compiler: gcc
-      os: osx
-
-addons:
-  coverity_scan:
-    # COVERITY_SCAN_TOKEN added as env var in travis project
-    project:
-      name: onqtam/doctest
-    notification_email: vik.kirilov@gmail.com
-    build_command_prepend: cd examples/hello_world && cmake .
-    build_command: make
-    branch_pattern: coverity_scan
-
-before_install:
-  - |
-    if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
-      # update package list
-      brew update
-      # valgrind
-      brew install valgrind
-      # cmake
-      if brew list -1 | grep -q "^cmake\$"; then
-        brew outdated cmake || brew upgrade cmake
-      else
-        brew install cmake
-      fi
-      # gcc
-      if [[ "${COMPILER}" = "g++-4.4" ]]; then
-        brew install gcc44
-      fi
-      if [[ "${COMPILER}" = "g++-4.5" ]]; then
-        brew install gcc45
-      fi
-      if [[ "${COMPILER}" = "g++-4.6" ]]; then
-        brew install gcc46
-      fi
-      if [[ "${COMPILER}" = "g++-4.7" ]]; then
-        brew install gcc47
-      fi
-      if [[ "${COMPILER}" = "g++-4.8" ]]; then
-        brew outdated gcc48 || brew upgrade gcc48
-      fi
-      if [[ "${COMPILER}" = "g++-4.9" ]]; then
-        brew install gcc49
-      fi
-      if [[ "${COMPILER}" = "g++-5" ]]; then
-        brew install gcc5
-      fi
-      if [[ "${COMPILER}" = "g++-6" ]]; then
-        brew install gcc6
-      fi
-    fi
-  - git submodule update --init --recursive
-
-install:
-  - ${CXX} --version
-  - export CXX="${COMPILER}"
-  - ${CXX} --version
-
-script:
-  # coverage - do not continue with other build configurations after that
-  - |
-    if [[ "${COVERALLS_SERVICE_NAME}" = "travis-ci" ]]; then
-      cmake ${CMAKE_OPTIONS_GLOBAL} -DCMAKE_BUILD_TYPE=Debug .
-      make -j2 && make coveralls
-      exit
-    fi
-
-  # initial run with options
-  - cmake ${CMAKE_OPTIONS_GLOBAL} ${CMAKE_OPTIONS} .
-
-  # debug x86
-  - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
-  - make clean && make -j2
-  # valgrind for 32bit under osx fails
-  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
-#  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-  # debug x64
-  - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64" .
-  - make clean && make -j2
-  - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
-#  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-  # release x86
-  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32" .
-  - make clean && make -j2
-  # valgrind for 32bit under osx fails
-  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
-#  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-  # release x64
-  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64" .
-  - make clean && make -j2
-  - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
-#  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-
-  # sanitizers - again 32/64 bit Debug/Release configs through address/undefined sanitizers
-  - cmake -DTEST_MODE=NORMAL .
-#  - cmake -DTEST_MODE=COMPARE .
-  # on separate commands because when something fails I want to see which one exactly
-  - if [[ "${HAS_ASAN_64}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_ASAN_32}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_ASAN_64}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_ASAN_32}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-  - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make -j2 && ctest --output-on-failure ; fi
-
-after_script:
-  - cat compile_commands.json
+#
+#    # OSX GCC 4.5
+#    - env: COMPILER=g++-4.5
+#      compiler: gcc
+#      os: osx
+#
+#    # OSX GCC 4.6
+#    - env: COMPILER=g++-4.6
+#      compiler: gcc
+#      os: osx
+#
+#    # OSX GCC 4.7
+#    - env: COMPILER=g++-4.7
+#      compiler: gcc
+#      os: osx
+#
+#    # OSX GCC 4.8
+#    - env: COMPILER=g++-4.8 HAS_ASAN_32=true HAS_ASAN_64=true
+#      compiler: gcc
+#      os: osx
+#
+#    # OSX GCC 4.9
+#    - env: COMPILER=g++-4.9 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+#      compiler: gcc
+#      os: osx
+#
+#    # OSX GCC 5
+#    - env: COMPILER=g++-5 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+#      compiler: gcc
+#      os: osx
+#
+##    # OSX GCC 6
+##    - env: COMPILER=g++-6 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
+##      compiler: gcc
+##      os: osx
+#
+#    # OSX LLVM-GCC
+#    - env: COMPILER=g++
+#      compiler: gcc
+#      os: osx
+#
+#addons:
+#  coverity_scan:
+#    # COVERITY_SCAN_TOKEN added as env var in travis project
+#    project:
+#      name: onqtam/doctest
+#    notification_email: vik.kirilov@gmail.com
+#    build_command_prepend: cd examples/hello_world && cmake .
+#    build_command: make
+#    branch_pattern: coverity_scan
+#
+#before_install:
+#  - |
+#    if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
+#      # update package list
+#      brew update
+#      # valgrind
+#      brew install valgrind
+#      # cmake
+#      if brew list -1 | grep -q "^cmake\$"; then
+#        brew outdated cmake || brew upgrade cmake
+#      else
+#        brew install cmake
+#      fi
+#      # gcc
+#      if [[ "${COMPILER}" = "g++-4.4" ]]; then
+#        brew install gcc44
+#      fi
+#      if [[ "${COMPILER}" = "g++-4.5" ]]; then
+#        brew install gcc45
+#      fi
+#      if [[ "${COMPILER}" = "g++-4.6" ]]; then
+#        brew install gcc46
+#      fi
+#      if [[ "${COMPILER}" = "g++-4.7" ]]; then
+#        brew install gcc47
+#      fi
+#      if [[ "${COMPILER}" = "g++-4.8" ]]; then
+#        brew outdated gcc48 || brew upgrade gcc48
+#      fi
+#      if [[ "${COMPILER}" = "g++-4.9" ]]; then
+#        brew install gcc49
+#      fi
+#      if [[ "${COMPILER}" = "g++-5" ]]; then
+#        brew install gcc5
+#      fi
+#      if [[ "${COMPILER}" = "g++-6" ]]; then
+#        brew install gcc6
+#      fi
+#    fi
+#  - git submodule update --init --recursive
+#
+#install:
+#  - ${CXX} --version
+#  - export CXX="${COMPILER}"
+#  - ${CXX} --version
+#
+#script:
+#  # coverage - do not continue with other build configurations after that
+#  - |
+#    if [[ "${COVERALLS_SERVICE_NAME}" = "travis-ci" ]]; then
+#      cmake ${CMAKE_OPTIONS_GLOBAL} -DCMAKE_BUILD_TYPE=Debug .
+#      make -j2 && make coveralls
+#      exit
+#    fi
+#
+#  # initial run with options
+#  - cmake ${CMAKE_OPTIONS_GLOBAL} ${CMAKE_OPTIONS} .
+#
+#  # debug x86
+#  - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
+#  - make clean && make -j2
+#  # valgrind for 32bit under osx fails
+#  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
+##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+#  # debug x64
+#  - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64" .
+#  - make clean && make -j2
+#  - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
+##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+#  # release x86
+#  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32" .
+#  - make clean && make -j2
+#  # valgrind for 32bit under osx fails
+#  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
+##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+#  # release x64
+#  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64" .
+#  - make clean && make -j2
+#  - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
+##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+#
+#  # sanitizers - again 32/64 bit Debug/Release configs through address/undefined sanitizers
+#  - cmake -DTEST_MODE=NORMAL .
+##  - cmake -DTEST_MODE=COMPARE .
+#  # on separate commands because when something fails I want to see which one exactly
+#  - if [[ "${HAS_ASAN_64}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_ASAN_32}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_ASAN_64}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_ASAN_32}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+#  - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make -j2 && ctest --output-on-failure ; fi
+#
+#after_script:
+#  - cat compile_commands.json
+#
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 06b0da6..5be996f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
 # Change Log
 
-## [1.0.0](https://github.com/onqtam/doctest/tree/1.0.0) (2016-04-27)
+## [1.0.0](https://github.com/onqtam/doctest/tree/1.0.0) (2016-04-30)
 **Merged pull requests:**
 
 - Add a Gitter chat badge to README.md [\#1](https://github.com/onqtam/doctest/pull/1) ([gitter-badger](https://github.com/gitter-badger))
diff --git a/README.md b/README.md
index 5c2dea9..2d8399c 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,20 @@
-doctest
+DOCTEST - the lightest and feature rich C++ single header testing framework
 -------
 
-doctest is a lightweight single header C++ framework for writing tests that is inspired by the ```unittest``` functionality in the D programming and the docstrings in python - tests are a sort of documentation and should reside near the code they test.
+The library is inspired by the ```unittest``` functionality of the **D** programming language and the **docstrings** in python - tests can be considered a form of documentation and should be able to reside near the production code which they test.
 
-[![Donate to support](https://pledgie.com/campaigns/31280.png)](https://pledgie.com/campaigns/31280)
+- Check out [**features and design goals**](doc/markdown/features.md) to see why this library exists and how it is different from all the rest.
+- Check out the tutorial [**here**](doc/markdown/tutorial.md).
+- [![Try it online](https://img.shields.io/badge/try%20it-online-orange.svg)](http://melpon.org/wandbox/permlink/xvF0y5DTzIDLN98f)
+- [![documentation](https://img.shields.io/badge/documentation-online-blue.svg)](doc/markdown/readme.md)
+- The latest version of the library can be downloaded from [**here**](https://raw.githubusercontent.com/onqtam/doctest/master/doctest/doctest.h).
 
-# LIBRARY NOT DONE YET! UNDER RAPID DEVELOPMENT! COME BACK LATER...
+This library was **strongly** influenced by [**Catch**](https://github.com/philsquared/Catch) and [**lest**](https://github.com/martinmoene/lest).
 
-[![documentation](https://img.shields.io/badge/documentation-online-blue.svg)](doc/markdown/)
 [![Language](https://img.shields.io/badge/language-C++-blue.svg)](https://isocpp.org/)
 [![Standard](https://img.shields.io/badge/c%2B%2B-98-blue.svg)](https://en.wikipedia.org/wiki/C%2B%2B#Standardization)
 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
 [![Version](https://badge.fury.io/gh/onqtam%2Fdoctest.svg)](https://github.com/onqtam/doctest/releases)
-[![Try it online](https://img.shields.io/badge/try%20it-online-orange.svg)](http://melpon.org/wandbox/permlink/YFdMVB1DrGJkQpaJ)
 [![Join the chat at https://gitter.im/onqtam/doctest](https://badges.gitter.im/onqtam/doctest.svg)](https://gitter.im/onqtam/doctest?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
 
 Build status
@@ -24,3 +26,16 @@
 | Appveyor (Windows)    | [![Windows status](https://ci.appveyor.com/api/projects/status/j89qxtahyw1dp4gd/branch/master?svg=true)](https://ci.appveyor.com/project/onqtam/doctest/branch/master)| [![Windows status](https://ci.appveyor.com/api/projects/status/j89qxtahyw1dp4gd/branch/dev?svg=true)](https://ci.appveyor.com/project/onqtam/doctest/branch/dev)|
 | Unit Test Coverage    | [![Coverage Status](https://coveralls.io/repos/github/onqtam/doctest/badge.svg?branch=master)](https://coveralls.io/github/onqtam/doctest?branch=master)|[![Coverage Status](https://coveralls.io/repos/github/onqtam/doctest/badge.svg?branch=dev)](https://coveralls.io/github/onqtam/doctest?branch=dev)|
 | Static Analysis       | [![Static Analysis](https://scan.coverity.com/projects/7865/badge.svg)](https://scan.coverity.com/projects/onqtam-doctest)|   |
+
+Contributing
+------------
+
+Donations would be appreciated very much since I quit my job to write open source software.
+
+[![Donate to support](https://pledgie.com/campaigns/31280.png)](https://pledgie.com/campaigns/31280)
+
+Contributions in the form of issues and pull requests are welcome as well.
+
+For pull requests make sure the code is formatted with a recent-enough ```clang-format``` using the config file in the root of the repo (or I will format it after the merge) and that all the builds on travis and appveyor pass. Also before making a pull requrest you might want to make an issue about it for a discussion. This library has some design goals which must be kept.
+
+The ```master``` branch is the stable one with the latest release and the ```dev``` branch is on the bleeding edge. 
\ No newline at end of file
diff --git a/appveyor.yml b/appveyor.yml
index c337506..ab1e0fb 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,117 +1,118 @@
-# http://www.appveyor.com/docs/appveyor-yml
-
-notifications:
-  - provider: Email
-    to:
-      - vik.kirilov@gmail.com
-    on_build_status_changed: true
-    on_build_failure: true
-    on_build_success: false
-  # gitter
-  - provider: Webhook
-    url: https://webhooks.gitter.im/e/3a78202a235c0325e516
-    on_build_status_changed: true
-    on_build_failure: true
-    on_build_success: false
-
-clone_depth: 5
-branches:
-  except:
-    - gh-pages
-    - coverity_scan
-
-matrix:
-  fast_finish: false
-
-environment:
-  matrix:
-  - platform: x86
-    configuration: Debug
-    arch: "Win32"
-    VS_GEN: "Visual Studio 9 2008"
-  - platform: x86
-    configuration: Release
-    arch: "Win32"
-    VS_GEN: "Visual Studio 9 2008"
-## THE FOLLOWING ARE DISABLED BECAUSE CMAKE CANNOT FIND THE COMPILER FOR Win64
+## http://www.appveyor.com/docs/appveyor-yml
+#
+#notifications:
+#  - provider: Email
+#    to:
+#      - vik.kirilov@gmail.com
+#    on_build_status_changed: true
+#    on_build_failure: true
+#    on_build_success: false
+#  # gitter
+#  - provider: Webhook
+#    url: https://webhooks.gitter.im/e/3a78202a235c0325e516
+#    on_build_status_changed: true
+#    on_build_failure: true
+#    on_build_success: false
+#
+#clone_depth: 5
+#branches:
+#  except:
+#    - gh-pages
+#    - coverity_scan
+#
+#matrix:
+#  fast_finish: false
+#
+#environment:
+#  matrix:
+#  - platform: x86
+#    configuration: Debug
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 9 2008"
+#  - platform: x86
+#    configuration: Release
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 9 2008"
+### THE FOLLOWING ARE DISABLED BECAUSE CMAKE CANNOT FIND THE COMPILER FOR Win64
+##  - platform: x64
+##    configuration: Debug
+##    arch: "x64"
+##    VS_GEN: "Visual Studio 9 2008 Win64"
+##  - platform: x64
+##    configuration: Release
+##    arch: "x64"
+##    VS_GEN: "Visual Studio 9 2008 Win64"
+#  - platform: x86
+#    configuration: Debug
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 10 2010"
+#  - platform: x86
+#    configuration: Release
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 10 2010"
 #  - platform: x64
 #    configuration: Debug
 #    arch: "x64"
-#    VS_GEN: "Visual Studio 9 2008 Win64"
+#    VS_GEN: "Visual Studio 10 2010 Win64"
 #  - platform: x64
 #    configuration: Release
 #    arch: "x64"
-#    VS_GEN: "Visual Studio 9 2008 Win64"
-  - platform: x86
-    configuration: Debug
-    arch: "Win32"
-    VS_GEN: "Visual Studio 10 2010"
-  - platform: x86
-    configuration: Release
-    arch: "Win32"
-    VS_GEN: "Visual Studio 10 2010"
-  - platform: x64
-    configuration: Debug
-    arch: "x64"
-    VS_GEN: "Visual Studio 10 2010 Win64"
-  - platform: x64
-    configuration: Release
-    arch: "x64"
-    VS_GEN: "Visual Studio 10 2010 Win64"
-  - platform: x86
-    configuration: Debug
-    arch: "Win32"
-    VS_GEN: "Visual Studio 11 2012"
-  - platform: x86
-    configuration: Release
-    arch: "Win32"
-    VS_GEN: "Visual Studio 11 2012"
-  - platform: x64
-    configuration: Debug
-    arch: "x64"
-    VS_GEN: "Visual Studio 11 2012 Win64"
-  - platform: x64
-    configuration: Release
-    arch: "x64"
-    VS_GEN: "Visual Studio 11 2012 Win64"
-  - platform: x86
-    configuration: Debug
-    arch: "Win32"
-    VS_GEN: "Visual Studio 12 2013"
-  - platform: x86
-    configuration: Release
-    arch: "Win32"
-    VS_GEN: "Visual Studio 12 2013"
-  - platform: x64
-    configuration: Debug
-    arch: "x64"
-    VS_GEN: "Visual Studio 12 2013 Win64"
-  - platform: x64
-    configuration: Release
-    arch: "x64"
-    VS_GEN: "Visual Studio 12 2013 Win64"
-  - platform: x86
-    configuration: Debug
-    arch: "Win32"
-    VS_GEN: "Visual Studio 14 2015"
-  - platform: x86
-    configuration: Release
-    arch: "Win32"
-    VS_GEN: "Visual Studio 14 2015"
-  - platform: x64
-    configuration: Debug
-    arch: "x64"
-    VS_GEN: "Visual Studio 14 2015 Win64"
-  - platform: x64
-    configuration: Release
-    arch: "x64"
-    VS_GEN: "Visual Studio 14 2015 Win64"
-
-before_build:
-  - cmake . -G "%VS_GEN%"
-build_script:
-  - msbuild all.sln /p:Configuration=%Configuration%;Platform=%arch% /maxcpucount
-test_script:
-# temporarily disabled - output will change often so no need for this yet
-#  - cmake . -DTEST_MODE=COMPARE
-  - ctest -C %configuration% --output-on-failure
\ No newline at end of file
+#    VS_GEN: "Visual Studio 10 2010 Win64"
+#  - platform: x86
+#    configuration: Debug
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 11 2012"
+#  - platform: x86
+#    configuration: Release
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 11 2012"
+#  - platform: x64
+#    configuration: Debug
+#    arch: "x64"
+#    VS_GEN: "Visual Studio 11 2012 Win64"
+#  - platform: x64
+#    configuration: Release
+#    arch: "x64"
+#    VS_GEN: "Visual Studio 11 2012 Win64"
+#  - platform: x86
+#    configuration: Debug
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 12 2013"
+#  - platform: x86
+#    configuration: Release
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 12 2013"
+#  - platform: x64
+#    configuration: Debug
+#    arch: "x64"
+#    VS_GEN: "Visual Studio 12 2013 Win64"
+#  - platform: x64
+#    configuration: Release
+#    arch: "x64"
+#    VS_GEN: "Visual Studio 12 2013 Win64"
+#  - platform: x86
+#    configuration: Debug
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 14 2015"
+#  - platform: x86
+#    configuration: Release
+#    arch: "Win32"
+#    VS_GEN: "Visual Studio 14 2015"
+#  - platform: x64
+#    configuration: Debug
+#    arch: "x64"
+#    VS_GEN: "Visual Studio 14 2015 Win64"
+#  - platform: x64
+#    configuration: Release
+#    arch: "x64"
+#    VS_GEN: "Visual Studio 14 2015 Win64"
+#
+#before_build:
+#  - cmake . -G "%VS_GEN%"
+#build_script:
+#  - msbuild all.sln /p:Configuration=%Configuration%;Platform=%arch% /maxcpucount
+#test_script:
+## temporarily disabled - output will change often so no need for this yet
+##  - cmake . -DTEST_MODE=COMPARE
+#  - ctest -C %configuration% --output-on-failure
+#
\ No newline at end of file
diff --git a/doc/html_generated/features.html b/doc/html_generated/features.html
new file mode 100644
index 0000000..061cb93
--- /dev/null
+++ b/doc/html_generated/features.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html>
+<title>features</title>
+<xmp theme="united" style="display:none;">
+
+Features and design goals
+=======
+
+
+
+
+###extremely portable and bug free
+
+- c++98
+- Debug/Release
+- 32/64 bit
+- valgrind, address sanitizer, UB sanitizer, coverity (more static analysis coming soon)
+- tested with gcc under OSX/Linux
+    - 4.4
+    - 4.5
+    - 4.6
+    - 4.7
+    - 4.8
+    - 4.9
+    - 5
+- tested with clang under OSX/Linux
+    - 3.4
+    - 3.5
+    - 3.6
+    - 3.7
+    - 3.8
+- tested with Visual Studio
+    - VC++6 (yes - that 18 year old compiler from 1998)
+    - 2008
+    - 2010
+    - 2012
+    - 2013
+    - 2015
+
+###CI
+
+- 180 builds linux/osx
+- 18 builds windows
+
+###unintrusive:
+
+- everything testing-related can be removed from the binary executable with a global define
+- all macros have prefixes
+    - some by default have unprefixed versions as well but that can be turned off
+- 0 warnings even with the most aggresive flags
+- doesn't leave warnings disabled after itself
+- doesn't drag any headers with itself
+- everything is in doctest namespace
+    - implementation details are in a nested namespace
+- command line
+    - doesn't error on unrecognized options
+    - supports prefixed options that won't clash with user defines ones
+- can set options procedurally and not worry about the command line
+
+</xmp>
+<script src="strapdown.js/strapdown.js"></script>
+</html>
diff --git a/doc/html_generated/readme.html b/doc/html_generated/readme.html
index 58dbfa1..5984cde 100644
--- a/doc/html_generated/readme.html
+++ b/doc/html_generated/readme.html
@@ -3,9 +3,26 @@
 <title>readme</title>
 <xmp theme="united" style="display:none;">
 
-doctest
+Reference
 =======
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 doctest is a c++ header only library for writing tests that is inspired by the unittest functionality in the D programming language and the docstrings in python - tests are documentation and should reside near the code they test.
 
 The library has automatic test discovery and is c++98 compatible.
@@ -115,12 +132,8 @@
 
 ##Notes
 
-- The library does not produce any warnings with GCC when compiled with ```-Wall -Wextra -pedantic -std=c++98 -m64```
-
 - The registration of test functions can be disabled by defining ```DOCTEST_GLOBAL_DISABLE``` before the inclusion of the **doctest.h** header. For large projects with tens of thousands of tests this may reduce the link time of the production build especially if lots of tests are registered in header files and will also reduce the binary size. See **disabled** from the examples folder.
 
-- The library by default includes its implementation which drags a dependency on **std::map**, the **cstring** header and the implementation of the library. This can be avoided by defining ```DOCTEST_DONT_INCLUDE_IMPLEMENTATION``` before the inclusion of **doctest.h** but then the user should include **doctest_impl.h** in one of his source files and have the ```DOCTEST_DONT_INCLUDE_IMPLEMENTATION``` macro defined before that as well. See **alternative_header_inclusion** from the examples folder.
-
 - Tests are registered from top to bottom of each processed cpp after the headers have been preprocessed and included but there is no ordering between cpp files.
 
 - Tests are registered globally within each shared object/executable. If a test is defined in a header and that header is used in an executable and in a shared object, then the test is registered in both places. To see how to invoke tests from a shared object check out **multi_dll** from the examples folder.
@@ -135,35 +148,6 @@
 
   - the **pragma once** directive - supporting the DRY principle
 
-##Workflow with examples
-
-The requirements for the examples are to have CMake 2.8 or higher.
-
-####Under Linux
-
-To build an example navigate to its folder and enter
-
-```
-cmake ./
-make
-./exe
-```
-
-####Under Windows
-
-You will need **MinGW w64** installed for Windows (or MSVC 2013 - hardcoded in the .bat files)
-
-You can get **MinGW w64** from http://sourceforge.net/projects/mingwbuilds/ (arch: "x64" threads: "posix" exceptions: "seh")
-
-Use the bat files in the examples folder to build (or atleast configure) each example - place them in the sub folder of an example and run them
-
-- **g.bat** - generates build files through cmake
-
-- **c.bat** - invokes mingw32-make on the makefile target
-
-- **r.bat** - runs the exe
-
-
 </xmp>
 <script src="strapdown.js/strapdown.js"></script>
 </html>
diff --git a/doc/html_generated/todo.html b/doc/html_generated/todo.html
index b851c3e..1431aa1 100644
--- a/doc/html_generated/todo.html
+++ b/doc/html_generated/todo.html
@@ -3,16 +3,12 @@
 <title>todo</title>
 <xmp theme="united" style="display:none;">
 
-## TODO FOR FIRST RELEASE
 
 
 
-look at catch command line options (also lest)
-- version (also add a step in the .txt file for updating the library - or even make it automatic!)
-- randomization of test order
-- detect floating point exceptions
-- colors
 
+- look at catch command line options (also lest)
+- sorting the test order (also RAND! and SEED!) (by file, by test suite, or both, ASC/DESC...)
 
 - signal handling for unix: http://www.cplusplus.com/reference/csignal/signal/
 (signals on *NIX platforms or structured exceptions on Windows)
@@ -24,25 +20,47 @@
 - xml reporter (jUnit compatible, etc.)
 
 - think about the expression decomposition static asserts
-- example of stringify-ing common stl stuff like containers
-- test coverage
-- help and version flags!
-- fixing warnings gcc/clang/msvc (and add more stuff in the disabled example)
+- kosta - test pledgie
 
-GCC 4.8/5.0 -Wstrict-overflow NONSENSE
-
-gcc 4.5/4.6 under osx - weird stuff
-/Users/travis/build/onqtam/doctest/examples/hello_world/main.cpp:8:1: warning: offset outside bounds of constant string
-
+- the help!
+- examples and test coverage
+- enabling COMPARE in tests
 - test for warnings with -std=c++03/11/14/1z
-- benchmark
+- benchmark (assimp and empty files - or maybe just empty files)
 - documentation
 - CONTRIBUTING.md - pull requests, travis, formatting, etc.
 - pledgie campaign - more info
 
-## Spreading the word after 1.0.0 is released
+## FUTURE
+- gcc 6
+- pool allocator for String class
+- floating point comparison support
+- Bitwise() class that has overloaded operators for comparison - to be used to check objects bitwise against each other
+- timing reports of tests, duration restrictions, kill of longer than (will perhaps require threading), etc...
+- test execution in separate processes - UNIX only with fork() (but windows has some .dll which could help)
+- matchers?
+- detect floating point exceptions
+- [CI] static analysis: msvc, clang, cppcheck
+- [CI] mingw-w64 on appveyor
 
-- bringing the unittest functionality of D into C++
+## UNSURE
+
+- BDD based on the subtests - like Catch
+- tagging? also see this: https://github.com/philsquared/Catch/blob/master/docs/test-cases-and-sections.md#special-tags
+- utf8?
+- a message macro (also tracepoint/passpoint/info/context and whatever - like in boost.test) (ALSO ERROR/FAIL - like boost)
+- add WARN as third option to CHECK/REQUIRE versions of assertions
+- hierarchical test suites? using a stack for the pushed states - should be easy
+- ability to re-run only newly compiled tests - based on timestamps of the __FILE__ in which they are - and stored in some file
+- put internals in anonymous namespace (even if already in detail) - even though clang-format will make everything more indented
+- wchar stuff in stringify and whatever - see <wchar.h>
+- progress of tests being executed (and an option for it)
+- think about adding support for std::exception and others
+- think about parameterising the output alignment to 80 or some other column limit
+- think about the ability to mix different versions of the library within the same executable (like stb libraries)
+- ability to transfer/copy registered functions from one dll to another so they are put in one set and duplicates are filtered
+
+## Spreading the word after 1.0.0 is released
 
 - reddit cpp/programming/gamedev/other
 - boost mailing list
@@ -50,6 +68,7 @@
 - comp.std.c++
 - hackernews
 - hora ot cg
+- code project site!!! :D
 - bg podcast? like bobi?
 - gamedev/programming/c++ forums
 - https://github.com/fffaraz/awesome-cpp
@@ -66,42 +85,62 @@
 - https://www.google.bg/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=list%20of%20testing%20frameworks%20c%2B%2B
 - http://stackoverflow.com/a/33925554/3162383
 
-## FUTURE
-- [core] timing reports of tests, duration restrictions, kill of longer than, etc...
-- [core] test execution in separate processes - UNIX only with fork() (but windows has some .dll which could help)
-- [CI] test with VC6 (and maybe get it somehow on a zip install for appveyor)
-- [CI] try building with VS 2008/2010/2012/2013 also on appveyor - http://www.appveyor.com/docs/installed-software
-- [CI] mingw-w64 on appveyor
-- [CI] static analysis: msvc, clang, cppcheck
-- [easy] hierarchical test suites? using a stack for the pushed states
-- [easy] sorting the test order (by file, by test suite, or both, ASC/DESC...)
-- [easy] error checking of parameters (if the range is valid (first <= last), etc)
-- [easy] pool allocator for String class
-- [unsure] ability to re-run only newly compiled tests - based on timestamps of the __FILE__ in which they are - and stored in some file
-- [unsure] Bitwise() class that has overloaded operators for comparison - to be used to check objects bitwise against each other
-- [unsure] add WARN as third option to CHECK/REQUIRE versions of assertions
-- [unsure] floating point comparison support
-- [unsure] ability to stop a test after it exceeds a time limit (will perhaps require threading)
-- [unsure] BDD based on the subtests - like Catch
-- [unsure] matchers?
-- [unsure] put internals in anonymous namespace (even if already in detail) - even though clang-format will make everything more indented
-- [unsure] silencing warnings - take into account when a compiler (which version) accuires a pragma/attribute/warning (for gcc use -Wno-unknown-warning)
-- [unsure] ability to transfer/copy registered functions from one dll to another so they are put in one set and duplicates are filtered
-- [unsure] progress of tests being executed (and an option for it)
-- [unsure] wchar stuff in stringify and whatever - see <wchar.h>
-- [unsure] tagging? also see this: https://github.com/philsquared/Catch/blob/master/docs/test-cases-and-sections.md#special-tags
-- [unsure] utf8?
-- [unsure] think about adding support for std::exception and others
-- [unsure] think about parameterising the output alignment to 80 or some other column limit
-- [unsure] a message macro (also tracepoint/passpoint/info/context and whatever - like in boost.test) (ALSO ERROR/FAIL - like boost)
-- think about the ability to mix different versions of the library within the same executable (like stb libraries)
-
 ## DOCUMENTATION
 
 "the latest and greatest in unit testing in c++"
 
 180 builds linux/osx (+12 if clang 3.4/3.5/3.6 get the 32 bit sanitizer stuff)
-4 builds windows
+18 builds windows
+
+VC6 subcases not working - set a bounty on this:
+http://stackoverflow.com/questions/36940730/preprocessor-problems-with-vc6
+VC6 - templated stringify() overloads will not compile
+
+extremely portable and bug free
+- c++98
+- Debug/Release
+- 32/64 bit
+- valgrind, address sanitizer, UB sanitizer, coverity (more static analysis coming soon)
+- tested with gcc under OSX/Linux
+    - 4.4
+    - 4.5
+    - 4.6
+    - 4.7
+    - 4.8
+    - 4.9
+    - 5
+- tested with clang under OSX/Linux
+    - 3.4
+    - 3.5
+    - 3.6
+    - 3.7
+    - 3.8
+- tested with Visual Studio
+    - VC++6 (yes - that 18 year old compiler from 1998)
+    - 2008
+    - 2010
+    - 2012
+    - 2013
+    - 2015
+CI:
+- 180 builds linux/osx
+- 18 builds windows
+
+unintrusive
+- everything testing-related can be removed from the binary executable with a global define
+- all macros have prefixes
+    - some by default have unprefixed versions as well but that can be turned off
+- 0 warnings even with the most aggresive flags
+- doesn't leave warnings disabled after itself
+- doesn't drag any headers with itself
+- everything is in doctest namespace
+    - implementation details are in a nested namespace
+- command line
+    - doesn't error on unrecognized options
+    - supports prefixed options that won't clash with user defines ones
+- can set options procedurally and not worry about the command line
+
+
 
 - mimic catch front page - tutorial link, what is different link, documentation link.
 - profile doctest vs Catch (compile/startup)
diff --git a/doc/markdown/features.md b/doc/markdown/features.md
new file mode 100644
index 0000000..5caba9b
--- /dev/null
+++ b/doc/markdown/features.md
@@ -0,0 +1,53 @@
+Features and design goals
+=======
+
+
+
+
+###extremely portable and bug free
+
+- c++98
+- Debug/Release
+- 32/64 bit
+- valgrind, address sanitizer, UB sanitizer, coverity (more static analysis coming soon)
+- tested with gcc under OSX/Linux
+    - 4.4
+    - 4.5
+    - 4.6
+    - 4.7
+    - 4.8
+    - 4.9
+    - 5
+- tested with clang under OSX/Linux
+    - 3.4
+    - 3.5
+    - 3.6
+    - 3.7
+    - 3.8
+- tested with Visual Studio
+    - VC++6 (yes - that 18 year old compiler from 1998)
+    - 2008
+    - 2010
+    - 2012
+    - 2013
+    - 2015
+
+###CI
+
+- 180 builds linux/osx
+- 18 builds windows
+
+###unintrusive:
+
+- everything testing-related can be removed from the binary executable with a global define
+- all macros have prefixes
+    - some by default have unprefixed versions as well but that can be turned off
+- 0 warnings even with the most aggresive flags
+- doesn't leave warnings disabled after itself
+- doesn't drag any headers with itself
+- everything is in doctest namespace
+    - implementation details are in a nested namespace
+- command line
+    - doesn't error on unrecognized options
+    - supports prefixed options that won't clash with user defines ones
+- can set options procedurally and not worry about the command line
\ No newline at end of file
diff --git a/doc/markdown/readme.md b/doc/markdown/readme.md
index 9b6e359..e0ffa11 100644
--- a/doc/markdown/readme.md
+++ b/doc/markdown/readme.md
@@ -1,6 +1,23 @@
-doctest
+Reference
 =======
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 doctest is a c++ header only library for writing tests that is inspired by the unittest functionality in the D programming language and the docstrings in python - tests are documentation and should reside near the code they test.
 
 The library has automatic test discovery and is c++98 compatible.
@@ -110,12 +127,8 @@
 
 ##Notes
 
-- The library does not produce any warnings with GCC when compiled with ```-Wall -Wextra -pedantic -std=c++98 -m64```
-
 - The registration of test functions can be disabled by defining ```DOCTEST_GLOBAL_DISABLE``` before the inclusion of the **doctest.h** header. For large projects with tens of thousands of tests this may reduce the link time of the production build especially if lots of tests are registered in header files and will also reduce the binary size. See **disabled** from the examples folder.
 
-- The library by default includes its implementation which drags a dependency on **std::map**, the **cstring** header and the implementation of the library. This can be avoided by defining ```DOCTEST_DONT_INCLUDE_IMPLEMENTATION``` before the inclusion of **doctest.h** but then the user should include **doctest_impl.h** in one of his source files and have the ```DOCTEST_DONT_INCLUDE_IMPLEMENTATION``` macro defined before that as well. See **alternative_header_inclusion** from the examples folder.
-
 - Tests are registered from top to bottom of each processed cpp after the headers have been preprocessed and included but there is no ordering between cpp files.
 
 - Tests are registered globally within each shared object/executable. If a test is defined in a header and that header is used in an executable and in a shared object, then the test is registered in both places. To see how to invoke tests from a shared object check out **multi_dll** from the examples folder.
@@ -128,32 +141,4 @@
 
   - the **__COUNTER__** macro, but all major compilers support it (if it is not found, **__LINE__** is used and then there are some corner cases with the macro codegen and a test may be registered twice)
 
-  - the **pragma once** directive - supporting the DRY principle
-
-##Workflow with examples
-
-The requirements for the examples are to have CMake 2.8 or higher.
-
-####Under Linux
-
-To build an example navigate to its folder and enter
-
-```
-cmake ./
-make
-./exe
-```
-
-####Under Windows
-
-You will need **MinGW w64** installed for Windows (or MSVC 2013 - hardcoded in the .bat files)
-
-You can get **MinGW w64** from http://sourceforge.net/projects/mingwbuilds/ (arch: "x64" threads: "posix" exceptions: "seh")
-
-Use the bat files in the examples folder to build (or atleast configure) each example - place them in the sub folder of an example and run them
-
-- **g.bat** - generates build files through cmake
-
-- **c.bat** - invokes mingw32-make on the makefile target
-
-- **r.bat** - runs the exe
+  - the **pragma once** directive - supporting the DRY principle
\ No newline at end of file
diff --git a/doc/markdown/todo.md b/doc/markdown/todo.md
index fb8f465..24fe382 100644
--- a/doc/markdown/todo.md
+++ b/doc/markdown/todo.md
@@ -3,8 +3,6 @@
 
 
 - look at catch command line options (also lest)
-- detect floating point exceptions
-- colors
 - sorting the test order (also RAND! and SEED!) (by file, by test suite, or both, ASC/DESC...)
 
 - signal handling for unix: http://www.cplusplus.com/reference/csignal/signal/
@@ -17,10 +15,11 @@
 - xml reporter (jUnit compatible, etc.)
 
 - think about the expression decomposition static asserts
-- test coverage
-- enabling COMPARE in tests
-- the help!
 - kosta - test pledgie
+
+- the help!
+- examples and test coverage
+- enabling COMPARE in tests
 - test for warnings with -std=c++03/11/14/1z
 - benchmark (assimp and empty files - or maybe just empty files)
 - documentation
@@ -30,12 +29,12 @@
 ## FUTURE
 - gcc 6
 - pool allocator for String class
-- Bitwise() class that has overloaded operators for comparison - to be used to check objects bitwise against each other
 - floating point comparison support
 - Bitwise() class that has overloaded operators for comparison - to be used to check objects bitwise against each other
 - timing reports of tests, duration restrictions, kill of longer than (will perhaps require threading), etc...
 - test execution in separate processes - UNIX only with fork() (but windows has some .dll which could help)
 - matchers?
+- detect floating point exceptions
 - [CI] static analysis: msvc, clang, cppcheck
 - [CI] mingw-w64 on appveyor
 
@@ -54,10 +53,8 @@
 - think about adding support for std::exception and others
 - think about parameterising the output alignment to 80 or some other column limit
 - think about the ability to mix different versions of the library within the same executable (like stb libraries)
-- silencing warnings - take into account when a compiler (which version) accuires a pragma/attribute/warning (for gcc use -Wno-unknown-warning)
 - ability to transfer/copy registered functions from one dll to another so they are put in one set and duplicates are filtered
 
-
 ## Spreading the word after 1.0.0 is released
 
 - reddit cpp/programming/gamedev/other
@@ -125,6 +122,7 @@
 - 18 builds windows
 
 unintrusive
+- everything testing-related can be removed from the binary executable with a global define
 - all macros have prefixes
     - some by default have unprefixed versions as well but that can be turned off
 - 0 warnings even with the most aggresive flags
diff --git a/scripts/update.py b/scripts/update.py
index 078504b..6316ff5 100644
--- a/scripts/update.py
+++ b/scripts/update.py
@@ -78,8 +78,8 @@
 
 readme_contents = ""
 for line in fileinput.input(["../README.md"]):
-    if line.startswith("[![Try it online]"):
-        readme_contents += "[![Try it online](https://img.shields.io/badge/try%20it-online-orange.svg)](" + url + ")\n"
+    if line.startswith("- [![Try it online]"):
+        readme_contents += "- [![Try it online](https://img.shields.io/badge/try%20it-online-orange.svg)](" + url + ")\n"
     else:
         readme_contents += line
 
