only load each script once