Add jshint
Refactored module definitions