fix permissions
add JSHint based linting and let the source code pass it without warnings