add dependency: jshint
refine validator
remove unused var
refine reporter