async solution with naga implemented