further refactoring of Backtest() as #36