add async loading browser support