Completed porting to .Net 2.0 with unit tests