// norm and correct infinite recursion