introduced unique_ptrs
merge