direct product of abelian groups is abelian