structure optimization
merge & debug
merge