Added abstract method update()