implemented most of the update, no error checking