added dotNet solution