Moved some validation logic into validMoves()