C Sharp implementations