[TASK] Refactor and improve