finished isSpotLegal implementation