Changes to use async listen