     
     }
     
-    /** use this method when selecting various services from the selection popover */
+    /** 
+     
+     use this method when selecting various services from the selection popover 
+     
+     [1] removes current child if present
+     [2] configures new child view with size, vc, z position
+     [3] remove old settings table view if present
+     [4] reconfigures settings view to appropriately reflect
+     [5] highlight the appropriate selection screen item to avoid double selection
+     
+     */
     func presentChild(child: ChildViewController) {
-
-        
-        removeCurrentChild()            // remove old child if present
+   
+        removeCurrentChild()
+        configureNewChildView(child)
+        removeOldSettingsTableViewIfPresent()
+        configureSettingsViewWithNewChild(child)
+        highlightAppropriateSelectionScreenItem(child)
+        
+    }
+    
+    private func removeCurrentChild() {
+        
+        self.currentChildView?.removeFromSuperview()
+        self.currentChildViewController?.removeFromParentViewController()
+        
+    }
+    
+    private func configureNewChildView(child: ChildViewController) {
         
         self.currentChildView = child.view
         self.currentChildView!.layer.zPosition = 2.0

        
    }
    
    private func configureFirstChildView() {
    
        assert(children.first != nil, "ViewController: Children array cannot be empty!")

        // respond differently based on the tableview
        switch tableView {
            
        /** 
         
         if already selected item, do not present again, otherwise 
            
         [1] get title
         [2]
            
        */
        case self.selectScreenTableView: nothing()
        case self.settingsScreenTableView: nothing()
        default: nothing()
