diff --git a/src/apps/rednatco/api-impl.ts b/src/apps/rednatco/api-impl.ts
index beb2689f220c9a7725a1c92fca3f677771d40070..b559ba13ce40c579f7a70d7d972504e93bf32c6b 100644
--- a/src/apps/rednatco/api-impl.ts
+++ b/src/apps/rednatco/api-impl.ts
@@ -24,9 +24,9 @@ export class ReDNATCOMspApiImpl implements ReDNATCOMspApi.Object {
             this.onEvent(evt);
     }
 
-    init(elemId: string, onEvent?: (evt: ReDNATCOMspApi.Event) => void, onInited?: () => void) {
+    init(elemId: string, onEvent?: (evt: ReDNATCOMspApi.Event) => void) {
         this.onEvent = onEvent;
-        ReDNATCOMsp.init(elemId, onInited);
+        ReDNATCOMsp.init(elemId);
         return this;
     }
 
diff --git a/src/apps/rednatco/api.ts b/src/apps/rednatco/api.ts
index b6267aef5fb30478a54696c9ad833f627bf1dd8e..d58ca246cd2cceacbe928048505644f932e574b3 100644
--- a/src/apps/rednatco/api.ts
+++ b/src/apps/rednatco/api.ts
@@ -39,7 +39,12 @@ export namespace ReDNATCOMspApi {
         Commands.SwitchModel;
 
     export namespace Events {
-        export type Type = 'step-deselected'|'step-requested'|'step-selected';
+        export type Type = 'ready'|'step-deselected'|'step-requested'|'step-selected'|'structure-loaded';
+
+        export type Ready = { type: 'ready' }
+        export function Ready(): Ready {
+            return { type: 'ready' };
+        }
 
         export type StepDeselected = { type: 'step-deselected' }
         export function StepDeselected(): StepDeselected {
@@ -59,11 +64,17 @@ export namespace ReDNATCOMspApi {
             return { type: 'step-selected', success: false, name: '' };
         }
 
+        export type StructureLoaded = { type: 'structure-loaded' }
+        export function StructureLoaded(): StructureLoaded {
+            return { type: 'structure-loaded' };
+        }
     }
     export type Event =
+        Events.Ready |
         Events.StepDeselected |
         Events.StepRequested |
-        Events.StepSelected;
+        Events.StepSelected |
+        Events.StructureLoaded;
 
     export namespace Queries {
         export type Type = 'selected-step';
@@ -78,7 +89,7 @@ export namespace ReDNATCOMspApi {
     export interface Object {
         command: (cmd: Command) => void;
         event: (evt: Event) => void;
-        init: (elemId: string, onEvent?: (evt: Event) => void, onInited?: () => void) => void;
+        init: (elemId: string, onEvent?: (evt: Event) => void) => void;
         isReady: () => boolean;
         loadStructure: (data: string, type: 'cif'|'pdb') => void;
         query: (type: Queries.Type) => Response;
diff --git a/src/apps/rednatco/index.tsx b/src/apps/rednatco/index.tsx
index c37fcbd2ad4c6f38a695fb2b7361c62c035d6e65..33acd2c2d622b7ed0e092f545d84d0ffcdf0700e 100644
--- a/src/apps/rednatco/index.tsx
+++ b/src/apps/rednatco/index.tsx
@@ -171,6 +171,7 @@ export class ReDNATCOMsp extends React.Component<ReDNATCOMsp.Props, State> {
             this.viewer.loadStructure(data, type, this.state.display).then(() => {
                 this.presentConformers = this.viewer!.getPresentConformers();
                 this.forceUpdate();
+                ReDNATCOMspApi.event(Api.Events.StructureLoaded());
             });
     }
 
@@ -190,9 +191,7 @@ export class ReDNATCOMsp extends React.Component<ReDNATCOMsp.Props, State> {
                 this.viewer = viewer;
                 this.viewer.loadReferenceConformers().then(() => {
                     ReDNATCOMspApi._bind(this);
-
-                    if (this.props.onInited)
-                        this.props.onInited();
+                    ReDNATCOMspApi.event(Api.Events.Ready());
                 });
             });
         }
@@ -413,15 +412,14 @@ export class ReDNATCOMsp extends React.Component<ReDNATCOMsp.Props, State> {
 export namespace ReDNATCOMsp {
     export interface Props {
         elemId: string;
-        onInited?: () => void;
     }
 
-    export function init(elemId: string, onInited?: () => void) {
+    export function init(elemId: string) {
         const elem = document.getElementById(elemId);
         if (!elem)
             throw new Error(`Element ${elemId} does not exist`);
 
-        ReactDOM.render(<ReDNATCOMsp elemId={elemId} onInited={onInited} />, elem);
+        ReactDOM.render(<ReDNATCOMsp elemId={elemId} />, elem);
     }
 }
 
diff --git a/src/apps/rednatco/viewer.ts b/src/apps/rednatco/viewer.ts
index b4f36c64d73f7b753af97c99a43a89160e2f6a28..bb758e8c4bd9e75f70bb86ebae8cd5e63d613524 100644
--- a/src/apps/rednatco/viewer.ts
+++ b/src/apps/rednatco/viewer.ts
@@ -853,7 +853,7 @@ export class ReDNATCOMspViewer {
         this.resetCameraRadius();
     }
 
-    async actionSelectStep(stepName: string, stepNamePrev: string|undefined, stepNameNext: string|undefined, referenceNtc: string, references: ('sel'|'prev'|'next')[], display: Partial<Display>): Promise<{ rmsd: number }|undefined> {
+    async actionSelectStep(stepName: string, stepNamePrev: string|undefined, stepNameNext: string|undefined, referenceNtc: string, references: ('sel'|'prev'|'next')[], display: Display): Promise<{ rmsd: number }|undefined> {
         const stepCurrent = this.stepFromName(stepName);
         if (!stepCurrent)
             return void 0;
@@ -923,7 +923,7 @@ export class ReDNATCOMspViewer {
             b.to(IDs.ID('structure', 'remainder-slice', BaseRef))
                 .apply(
                     StateTransforms.Representation.StructureRepresentation3D,
-                    this.substructureVisuals('cartoon'),
+                    this.substructureVisuals(display.representation),
                     { ref: IDs.ID('visual', 'remainder-slice', BaseRef) }
                 )
                 .delete(IDs.ID('visual', 'nucleic', BaseRef));