how does clr implements a c# program