changed collision result to unique_ptr