updated c# source