Better interface. No illegal move allowed