refactor
make Handler private