updating lots of stuff