can handle cost now, still need to let errdiff be handled inside ToFit