merge
purify code