static void Main(string[] args) { using (IChessBoard board = new OX88Chessboard()) using (var tt = new UnmanagedTranspositionTable()) { WinBoardAdapter adapter = new WinBoardAdapter(board, new FullEngine(5, tt), tt); adapter.MessageToWinboard += new EventHandler <EngineToWinboardEventArgs>(adapter_MessageToWinboard); string line; while (null != (line = Console.ReadLine())) { adapter.Consume(line); } } }