some changes to add async tag