- improved update functionality