|  | @@ -97,8 +97,10 @@ function inherits(child, parent) {
 | 
	
		
			
				|  |  |  /* SmalltalkRoot is the hidden root of the Amber hierarchy.
 | 
	
		
			
				|  |  |   All objects including `Object` inherit from SmalltalkRoot */
 | 
	
		
			
				|  |  |  function SmalltalkRoot() {}
 | 
	
		
			
				|  |  | +function SmalltalkProtoObject() {}
 | 
	
		
			
				|  |  | +inherits(SmalltalkProtoObject, SmalltalkRoot);
 | 
	
		
			
				|  |  |  function SmalltalkObject() {}
 | 
	
		
			
				|  |  | -inherits(SmalltalkObject, SmalltalkRoot);
 | 
	
		
			
				|  |  | +inherits(SmalltalkObject, SmalltalkProtoObject);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function Smalltalk() {}
 | 
	
		
			
				|  |  |  inherits(Smalltalk, SmalltalkObject);
 | 
	
	
		
			
				|  | @@ -119,7 +121,8 @@ function RootBrik(brikz, st) {
 | 
	
		
			
				|  |  |  	this.__init__ = function () {
 | 
	
		
			
				|  |  |  		st.addPackage("Kernel-Objects");
 | 
	
		
			
				|  |  |  		st.addPackage("Kernel-Infrastructure");
 | 
	
		
			
				|  |  | -		st.wrapClassName("Object", "Kernel-Objects", SmalltalkObject, undefined, false);
 | 
	
		
			
				|  |  | +		st.wrapClassName("ProtoObject", "Kernel-Objects", SmalltalkProtoObject, undefined, false);
 | 
	
		
			
				|  |  | +		st.wrapClassName("Object", "Kernel-Objects", SmalltalkObject, st.ProtoObject, false);
 | 
	
		
			
				|  |  |  		st.wrapClassName("Smalltalk", "Kernel-Infrastructure", Smalltalk, st.Object, false);
 | 
	
		
			
				|  |  |  		st.wrapClassName("UndefinedObject", "Kernel-Objects", SmalltalkNil, st.Object, false);
 | 
	
		
			
				|  |  |  	};
 | 
	
	
		
			
				|  | @@ -326,8 +329,8 @@ function ClassesBrik(brikz, st) {
 | 
	
		
			
				|  |  |  		st.wrapClassName("Class", "Kernel-Classes", SmalltalkClass, st.Behavior, false);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		// Manually bootstrap the metaclass hierarchy
 | 
	
		
			
				|  |  | -		st.Object.klass.superclass = rootAsClass.klass = st.Class;
 | 
	
		
			
				|  |  | -		addSubclass(st.Object.klass);
 | 
	
		
			
				|  |  | +		st.ProtoObject.klass.superclass = rootAsClass.klass = st.Class;
 | 
	
		
			
				|  |  | +		addSubclass(st.ProtoObject.klass);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		st.wrapClassName("Package", "Kernel-Infrastructure", SmalltalkPackage, st.Object, false);
 | 
	
		
			
				|  |  |  	};
 |