     
     func presentChild(child: ChildViewController) {
 
-        // make entry for data if not present, else configure selection screen with present data
         
-        // configure currently selected in selection screen
+        removeCurrentChild()            // remove old child if present
         
-        // configure settings popover based on current child
+                                        // make entry for data if not present, else configure selection screen with present data
+        
+        
+                                        // configure currently selected in selection screen
+        
+                                        // configure settings popover based on current child
         
         
     }
-
+    
+    private func removeCurrentChild() {
+        
+        self.currentChildView?.removeFromSuperview()
+        self.currentChildViewController?.removeFromParentViewController()
+        
+    }
+    
 }
 
 

    
    // height
    var barHeight: CGFloat { return 40.0 }
    var childScreenHeight : CGFloat { return screenHeight - barHeight }
    
    // mutable versions of copied dictionaries
    private var configDictionaries: [String : [String : String] ] = [ "" : [ "" : ""] ]
    
    // ui components
    private var barView: BarView!
    private var childViewContainer: UIView!
    
    var childViewController: UIViewController? {
        
        didSet {
            
            
            
        }
        
    }

    
    override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }

        
        let barViewFrame = CGRect(
            x: 0.0,
            y: childViewHeight,
            width: screenWidth,
            height: barHeight
        )
