update:rename functions
reconstruct; add functions