add async and remove screenshot