add internal inplace switch to allow source memory reuse (still needs to be hooked up)