refactor: export one region at a time to save memory
export using callbacks, saving tons of memory