Let $G$ a finite group and suppose that all non-identity elements has order 2. Show that $G$ is an Abelian group and it can be writed as a direct product of cyclic groups with order 2.
I've already red some answers to related questions, but I can't see how to prove the part of the direct product of cyclic groups, I understand that $o(G)=2^k$ but I don't know if all the finite groups has a generating set... Some hint or solution?