rewrote updater with c#