some refactoring of the AI player interface
some refactoring of the AI player interface