added defer script loading