changed the update func again, added version fixed usage