implement postion in merge