fixed: auto_ptr -> unique_ptr