believe the problem is that with multiple devices, the buffers need to be allocated later