This should be async? I think, a bit of cleanup.