separated export logic for offline vs. JIT