[TASK] more refactoring