class method
add subclass Scanner::Walker
refactor code