new feature: non-interactive calculate mode