some modification , not stable for the moment