class and IIFE implements