[+TASK] refactoring