lots of syntax updates and misc stuff