remove async and use tape