refactoring
role supervisor
add logs