reconstruct datastruct