rename methods
implement merge method