wraps app.js in IIFE