wrapped app components in a IIFE