proper async on template