xi no longer dataframe/matrix - keep running total. also factor_size explicitly passed to get_a_BF