moved some responsibility of exchanging to Player.hs