implements updates