alternate async js loader
refactor init strategy