why we use extension method in c#