use async library to handle videos