modified the design
merge