turned into IIFE