[REFACTOR] Gros refactor