some fix of design
merge