[D] Full refactorisation
[D] Flatten tests
[D] Initialise the value with the element content
[D] Update demo