factor out norm