fuck this asynchronous bullshit