updates many things