lots of readOnly / compatibility changes required to allow interacting with older firmware