reimplemented update method