added basic updating functionality