Only allow valid moves. Closes #15