new commit from before I fucked everything up trying to use async