factory.py: split interactive and parallel options