added C Sharp support