switch to async js loading