finished updates so can run distributed accross servers and handle errors