use a dedicate stack for async