Murach C# OOP