Add async loading for new browsers + clean code