reconstruct && fix bugs