use async filesystem calls