Question d’entretien chez nShift

- improve the code by solving some redundant implementation - fix unit tests