initial import factorization tools

pre-multiplied is more correct than "weighted"