added IIFE to wrap JST