Any reason why this isn't done async?