Some fixes to make the subclass behave properly. No good yet.