How to load 2 images in model

Hi, i am planning to create a model that uses 2 images as input.

Previously with one image input, i was using mx.io.ImageRecordIter as a Data iterator to feed the images into the network during the training.
To feed 2 images in the model during the training, i can extend the first solution, and create 2 .rec files, then 2 ImagerecordIter. One of the problem is that for training I set Shuffle=True. Then, how can i synchronize these 2 iterators?

Is it the best solution to do that?
I guess I will have to move away from the ImagerecordIter and look for a more flexible Solution with the DataIter or Dataset classes, isnt it?

Thanks