private void LogReaderOnCardMovement(HsLogReader sender, CardMovementArgs args)
		{
			Logger.WriteLine(string.Format("{0} (id:{1} turn:{2} from:{3})", args.MovementType.ToString(), args.CardId, sender.GetTurnNumber(), args.From), "LogReader");

			switch (args.MovementType)
			{
				case CardMovementType.PlayerGet:
					HandlePlayerGet(args.CardId);
					break;
				case CardMovementType.PlayerDraw:
					HandlePlayerDraw(args.CardId);
					break;
				case CardMovementType.PlayerMulligan:
					HandlePlayerMulligan(args.CardId);
					break;
				case CardMovementType.PlayerHandDiscard:
					HandlePlayerHandDiscard(args.CardId);
					break;
				case CardMovementType.PlayerPlay:
					HandlePlayerPlay(args.CardId);
					break;
				case CardMovementType.PlayerDeckDiscard:
					HandlePlayerDeckDiscard(args.CardId);
					break;
				case CardMovementType.OpponentSecretTrigger:
					HandleOpponentSecretTrigger(args.CardId);
					break;
				case CardMovementType.OpponentPlay:
					//moved to CardPosChange
					break;
				case CardMovementType.OpponentHandDiscard:
					//moved to CardPosChange (included in play)
					break;
				case CardMovementType.OpponentDeckDiscard:
					HandleOpponentDeckDiscard(args.CardId);
					break;
				case CardMovementType.OpponentPlayToHand:
					HandleOpponentPlayToHand(args.CardId, sender.GetTurnNumber());
					break;
				default:
					Logger.WriteLine("Invalid card movement");
					break;
			}
		}
		private void LogReaderOnTurnStart(HsLogReader sender, TurnStartArgs args)
		{
			Logger.WriteLine(string.Format("{0}-turn ({1})", args.Turn, sender.GetTurnNumber() + 1), "LogReader");
			//doesn't really matter whose turn it is for now, just restart timer
			//maybe add timer to player/opponent windows
			_turnTimer.SetCurrentPlayer(args.Turn);
			_turnTimer.Restart();
			if (args.Turn == Turn.Player && !_game.IsInMenu)
			{
				if (_config.FlashHs)
					User32.FlashHs();

				if (_config.BringHsToForeground)
					User32.BringHsToForeground();
			}

		}