Index: /lang/csharp/DominionEngine/DominionEngine.CUI/DominionEngine.CUI.csproj
===================================================================
--- /lang/csharp/DominionEngine/DominionEngine.CUI/DominionEngine.CUI.csproj (revision 37657)
+++ /lang/csharp/DominionEngine/DominionEngine.CUI/DominionEngine.CUI.csproj (revision 37705)
@@ -36,7 +36,15 @@
       <HintPath>..\DominionEngine.CardInfo\bin\Release\DominionEngine.CardInfo.dll</HintPath>
     </Reference>
+    <Reference Include="DominionEngine.CardInfo.Alchemy, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\DominionEngine.CardInfo.Alchemy\bin\Release\DominionEngine.CardInfo.Alchemy.dll</HintPath>
+    </Reference>
     <Reference Include="DominionEngine.CardInfo.Base, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\DominionEngine.CardInfo.Base\bin\Release\DominionEngine.CardInfo.Base.dll</HintPath>
+    </Reference>
+    <Reference Include="DominionEngine.CardInfo.Intrigue, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\DominionEngine.CardInfo.Intrigue\bin\Release\DominionEngine.CardInfo.Intrigue.dll</HintPath>
     </Reference>
     <Reference Include="DominionEngine.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
Index: /lang/csharp/DominionEngine/DominionEngine.CUI/Program.cs
===================================================================
--- /lang/csharp/DominionEngine/DominionEngine.CUI/Program.cs (revision 37670)
+++ /lang/csharp/DominionEngine/DominionEngine.CUI/Program.cs (revision 37705)
@@ -6,4 +6,5 @@
 using DominionEngine.CardInfo;
 using Base = DominionEngine.CardInfo.Base;
+using Alchemy = DominionEngine.CardInfo.Alchemy;
 
 namespace DominionEngineSampleCUI
@@ -23,4 +24,6 @@
             ai = new PlayerEngine(game, game.Players[1]);
 
+            // Basic
+            /*
             game.SetSupply<Base.Cellar>();
             game.SetSupply<Base.Village>();
@@ -33,4 +36,11 @@
             game.SetSupply<Base.Market>();
             game.SetSupply<Base.Mine>();
+            */
+            game.SetSupply<Alchemy.Potion>();
+            game.SetSupply<Alchemy.Apprentice>();
+            game.SetSupply<Alchemy.Familiar>();
+            game.SetSupply<Alchemy.PhilosophersStone>();
+            game.SetSupply<Alchemy.Transmute>();
+            game.SetSupply<Alchemy.Vineyard>();
 
             game.TurnChanged += new EventHandler<EventArgs>(game_TurnChanged);
@@ -42,4 +52,10 @@
             game.HandChoosing += new EventHandler<Game.CardChoosingEventArgs>(game_HandChoosing);
 
+            int index = 1;
+            foreach (var card in SorteredSupply())
+            {
+                Console.WriteLine("{0,2}:{1,-24}:({2,2}):{3}C{4}P", index++, card.CardInfo.Name, card.Count, card.CardInfo.Cost.CoinValue, card.CardInfo.Cost.Value<Alchemy.PotionUnit>());
+            }
+
             game.Start();
 
@@ -88,7 +104,6 @@
             {
                 Console.WriteLine("--------");
-                Console.WriteLine("Remain Action:{0}", game.RemainAction);
-                Console.WriteLine("Remain Buy:{0}", game.RemainBuy);
-                Console.WriteLine("Spendable Worth:{0}", game.SpendableWorth);
+                WriteRemainAction();
+                WriteRemainBuy();
                 Console.WriteLine("--------");
 
@@ -124,6 +139,5 @@
             {
                 Console.WriteLine("--------");
-                Console.WriteLine("Remain Buy:{0}", game.RemainBuy);
-                Console.WriteLine("Spendable Worth:{0}", game.SpendableWorth);
+                WriteRemainBuy();
                 Console.WriteLine("--------");
 
@@ -161,6 +175,5 @@
             {
                 Console.WriteLine("--------");
-                Console.WriteLine("Remain Buy:{0}", game.RemainBuy);
-                Console.WriteLine("Spendable Worth:{0}", game.SpendableWorth);
+                WriteRemainBuy();
                 Console.WriteLine("--------");
 
@@ -178,4 +191,15 @@
                 game.Buy(choosenCard.CardInfo);
             }
+        }
+
+        private static void WriteRemainAction()
+        {
+            Console.WriteLine("Remain Action:{0}", game.RemainAction);
+        }
+
+        private static void WriteRemainBuy()
+        {
+            Console.WriteLine("Remain Buy:{0}", game.RemainBuy);
+            Console.WriteLine("Spendable Worth:{0}C{1}P", game.SpendableWorth.CoinValue, game.SpendableWorth.Value<Alchemy.PotionUnit>());
         }
 
@@ -234,5 +258,5 @@
             bool isChoosed = TryChoose<IUnitaryCardList>("Supply", operation, SorteredSupply(), out choosenCard, filter, (index, card) =>
             {
-                Console.WriteLine("{0,2}:{1,-16}:({2,2}):{3}", index, card.CardInfo.Name, card.Count, card.CardInfo.Cost);
+                Console.WriteLine("{0,2}:{1,-24}:({2,2}):{3}C{4}P", index, card.CardInfo.Name, card.Count, card.CardInfo.Cost.CoinValue, card.CardInfo.Cost.Value<Alchemy.PotionUnit>());
             }, index => false);
             return choosenCard;
