jdk 1.8 version
structure
after finish evaluator