added more C# explanations