add shuffle as an option, default is to work on smallest-to-largest
factoring progress for 2014/jun/05