add a dry run, trying to minimize the memory cost