~ refactoring, added strict mode and jshint