add backtest fuction