M constructors need to be public for constructor inheritence to work.