add factor
use bigints in factor