added a classic version of the XY model