refine structure, add notes