better async link structure