Change demo to use async