refine
restructure