lots of firmware fixes