merge interval reimpl