added switchable merge structure and docs to go with. added testing against switching merge packages