update method come back with a new approach that make it works as espected
fix broken test
small refactors
more documentation addition