newSequences = [([mx.nd.concat(newSequences[x][0][y], ordered[batch_entry][x][0][y], dim=0) for y in range(len(newSequences[x][0]))], mx.nd.concat(newSequences[x][1], ordered[batch_entry][x][1], dim=0)) for x in range(len(newSequences))]
# expand dims only once
else:
newSequences = [([mx.nd.concat(newSequences[x][0][y], ordered[batch_entry][x][0][y], dim=0).expand_dims(axis=1) for y in range(len(newSequences[x][0]))], mx.nd.concat(newSequences[x][1], ordered[batch_entry][x][1], dim=0).expand_dims(axis=1)) for x in range(len(newSequences))]
newSequences = [([mx.nd.concat(newSequences[x][0][y], ordered[batch_entry][x][0][y], dim=0) for y in range(len(newSequences[x][0]))], mx.nd.concat(newSequences[x][1], ordered[batch_entry][x][1], dim=0), [mx.nd.concat(newSequences[x][2][y], ordered[batch_entry][x][2][y], dim=0) for y in range(len(newSequences[x][2]))]) for x in range(len(newSequences))]
newSequences = [([newSequences[x][0][y].expand_dims(axis=1) for y in range(len(newSequences[x][0]))], newSequences[x][1].expand_dims(axis=1), [newSequences[x][2][y] for y in range(len(newSequences[x][2]))]) for x in range(len(newSequences))]