Adding async + require component stuff