shortened set function. found bug with delete void *. found std::unique_ptr can't handle void [but boost might]