we don't need atomic since we are blocking anyways