When a loop with inverse property is commutative Question

How to prove that a loop $L$ with inverse property and $x^3=e$ for all $x$ is commutative iff $(x y)^2=x^2 y^2$ for all $x,y$?

Definitions: 
A loop is a quasigroup with identity $e$. 
$L$ has the inverse property if every element has a two sided inverse and $x^{-1}(xy) = y = (yx)x^{-1}$ for all $x,y \in L$.
Edit: I just figured one half of the proof:
Suppose $L$ is commutative. From $x^3 = e$, we have $x^2 = x^{-1}$. Then $(xy)^2 = (xy)^{-1}$. In an IP loop, $(xy)^{-1} = y^{-1} x^{-1}$. So that by using commutativity, $(xy)^2 = y^{-1} x^{-1} = x^{-1} y^{-1} = x^2 y^2$.
Edit2: The other side is easy now: Suppose $(xy)^2 = x^2y^2$. Also, we have $(xy)^2 = y^{-1} x^{-1}.$
Hence $x^{-1} y^{-1} = y^{-1}x^{-1}$. Because $L = L^{-1}$, we get that $L$ is commutative.

Note that $x^3 = e$ means that $x^2 = x^{-1}$.  Similarly, this means that $(xy)^2 = (xy)^{-1}, y^2 = y^{-1}$.  We now write our condition as
$$
(xy)^{-1} = x^{-1}y^{-1}
$$
This implies that $(x^{-1}y^{-1})^{-1} = xy$.
We now apply the inverse property repeatedly:
$$
x^{-1} = (x^{-1}y^{-1})y\\
(x^{-1}y^{-1})^{-1}x^{-1} = (x^{-1}y^{-1})^{-1}((x^{-1}y^{-1})y)
= y\\
(x^{-1}y^{-1})^{-1}
= ((x^{-1}y^{-1})^{-1}x^{-1})x
= yx
$$
Combining we get $xy = (x^{-1}y^{-1})^{-1} = yx$, as desired.
