refine structure
update