add jshint
accept callback