diff --git a/README.md b/README.md
index f30ba5c..4544cd9 100644
--- a/README.md
+++ b/README.md
@@ -9,55 +9,55 @@ in multi-threaded environments.
> Many of the ideas are taken from [Preshing on Programming: A Resizable, Concurrent Map](http://preshing.com/20160222/a-resizable-concurrent-map/).
> The definition of concurrent and wait-free are from [concurrencyfreaks.blogspot.de](http://concurrencyfreaks.blogspot.de/2013/05/lock-free-and-wait-free-definition-and.html)
+| Release Version | Release Notes
+|-------------------------------------------------------|--------------
+| ![Mulle kybernetiK tag](https://img.shields.io/github/tag//mulle-concurrent.svg?branch=release) [![Build Status](https://github.com//mulle-concurrent/workflows/CI/badge.svg?branch=release)](//github.com//mulle-concurrent/actions)| [RELEASENOTES](RELEASENOTES.md) |
-| Release Version
-|-----------------------------------
-|[![Build Status](https://github.com/mulle-concurrent/mulle-concurrent/workflows/CI/badge.svg?branch=release)](//github.com/mulle-concurrent/mulle-concurrent) ![Mulle kybernetiK tag](https://img.shields.io/github/tag/mulle-concurrent/mulle-concurrent/workflows/CI/badge.svg?branch=release)
-## Data structures
-API | Description | Example
-------------------------------------------------------|----------------|---------
-[`mulle_concurrent_hashmap`](dox/API_HASHMAP.md) | A growing, mutable map of pointers, indexed by a hash. A.k.a. hashtable, dictionary, maptable | [Example](test/hashmap/example.c)
-[`mulle_concurrent_pointerarray`](dox/API_POINTERARRAY.md) | A growing array of pointers | [Example](test/array/example.c)
-### You are here
-
-![Overview](overview.dot.svg)
-
## Add
Use [mulle-sde](//github.com/mulle-sde) to add mulle-concurrent to your project:
``` sh
-mulle-sde dependency add --c --github mulle-concurrent mulle-concurrent
+mulle-sde add github:/
+```
+
+To only add the sources of mulle-concurrent with dependency
+sources use [clib](https://github.com/clibs/clib):
+
+
+``` sh
+clib install --out src/ /
```
+Add `-isystem src/` to your `CFLAGS` and compile all the sources that were downloaded with your project.
+
+
## Install
-### mulle-sde
+### Install with mulle-sde
Use [mulle-sde](//github.com/mulle-sde) to build and install mulle-concurrent and all dependencies:
``` sh
mulle-sde install --prefix /usr/local \
- https://github.com/mulle-concurrent/mulle-concurrent/archive/latest.tar.gz
+ https://github.com///archive/latest.tar.gz
```
### Manual Installation
-
Install the requirements:
-Requirements | Description
------------------------------------------------------|-----------------------
-[mulle-aba](//github.com/mulle-concurrent/mulle-aba) | Concurrent memory reclamation
-
+| Requirements | Description
+|----------------------------------------------|-----------------------
+| [mulle-aba](https://github.com/mulle-concurrent/mulle-aba) | 🚮 A lock-free, cross-platform solution to the ABA problem
-Install into `/usr/local`:
+Install **mulle-concurrent** into `/usr/local` with [cmake](https://cmake.org):
``` sh
cmake -B build \
@@ -68,15 +68,8 @@ cmake --build build --config Release &&
cmake --install build --config Release
```
-### Platforms and Compilers
-
-All platforms and compilers supported by
-[mulle-c11](//github.com/mulle-c/mulle-c11) and
-[mulle-thread](//github.com/mulle-concurrent/mulle-thread).
+## Author
+[Nat!](https://mulle-kybernetik.com/weblog) for Mulle kybernetiK
-## Author
-[Nat!](//www.mulle-kybernetik.com/weblog) for
-[Mulle kybernetiK](//www.mulle-kybernetik.com) and
-[Codeon GmbH](//www.codeon.de)
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index c3c7d41..03a8367 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -1,3 +1,7 @@
+### 2.2.14
+
+* remove package.json as it conflicts with clib.json
+
### 2.2.13
* Various small improvements
diff --git a/clib.json b/clib.json
index 5d22d33..2d3ecd8 100644
--- a/clib.json
+++ b/clib.json
@@ -1,6 +1,6 @@
{
"name" : "mulle-concurrent",
- "version" : "2.2.13",
+ "version" : "2.2.14",
"description" : "A lock- and wait-free hashtable (and an array too), written in C",
"keywords" : [],
"license" : "BSD-3-Clause",
diff --git a/cola/properties.plist b/cola/properties.plist
new file mode 100644
index 0000000..0bc7eaf
--- /dev/null
+++ b/cola/properties.plist
@@ -0,0 +1,23 @@
+{
+ project =
+ {
+ description="📶 A lock- and wait-free hashtable (and an array too), written in C";
+ domain="github";
+ name="mulle-concurrent";
+ user="mulle-concurrent";
+ repo="mulle-concurrent";
+ homepage="https://github.com/mulle-concurrent/mulle-concurrent";
+ license="BSD-3-Clause"
+ };
+ dependencies =
+ (
+ {
+ description="🚮 A lock-free, cross-platform solution to the ABA problem";
+ domain="github";
+ name="mulle-aba";
+ repo="mulle-aba";
+ url="https://github.com/mulle-concurrent/mulle-aba";
+ user="mulle-concurrent";
+ }
+ )
+}
diff --git a/overview.dot.svg b/overview.dot.svg
index 5711a4c..f01578f 100644
--- a/overview.dot.svg
+++ b/overview.dot.svg
@@ -16,10 +16,13 @@
mulle-concurrent
-
+
mulle-aba
+
mulle-aba
+
+
@@ -27,11 +30,23 @@
+
+
+mintomic
+
+
+mintomic
+
+
+
-
+
mulle-allocator
+
mulle-allocator
+
+
@@ -40,10 +55,13 @@
-
+
mulle-thread
+
mulle-thread
+
+
@@ -52,10 +70,13 @@
-
+
mulle-c11
+
mulle-c11
+
+
@@ -63,12 +84,6 @@
-
-
-mintomic
-
-mintomic
-
mulle-thread->mintomic