remove async defer
flatten