refactoring of package 'nodes', added visitor pattern
refactoring of package 'nodes', added visitor pattern