Complete and correct implementation

Signed-off-by: Axel Davy <axel.davy@ens.fr>