C# CharacterMotor crashing. What am I doing wrong?

I’m trying to convert Unity’s CharacterMotor(js) script into my own c# version, but it crashes when I put the script on an object. please help, I can usually figure things out, but I don’t know what I’m doing wrong.

using UnityEngine;
using System.Collections;

public class MyCharacterMotor : MonoBehaviour {
	public MyCharacterMotorMovement movement = new MyCharacterMotorMovement();
}

public class MyCharacterMotorMovement : MyCharacterMotor{

}

After lots of confusion and research, I found a solution:

using UnityEngine;
using System.Collections;

public class CMmain : MonoBehaviour {
	
	[System.Serializable]
	public class CMmovement {

	}
	
	public CMmovement movement = new CMmovement();
}