unique factorization