complet refactoring - code review - improve functionnalities - add watch support