nicer updating and fetching