Committing version of MP1 converted to CPP fully