         }
     }
 
+    func animateViews(animationDirection:AnimationDirection){
+        
+        // Default to 'out' state
+        //
+        self.alpha = 0.0
+        
+        if animationDirection == .in {
+            self.alpha = BACKGROUND_ALPHA
+
+            
+            self.addSubview(picker)
+            self.addSubview(toolbar)
+            topViewController.view.addSubview(self)
+        }
+        
+        UIView.animate(withDuration: 1.0, animations: {
+            
+        }, completion: { completed in
+            
+        })
+        
+
+    }
 
     func sizeViews() {
         self.frame = CGRect(x: 0,
                             y: 0,
                             width: self.topViewController.view.bounds.size.width,
                             height: self.topViewController.view.bounds.size.height)
+        
+        backgroundView.frame = CGRect(x: 0,
+                                      y: self.bounds.size.height,
+                                      width: self.bounds.size.width,
+                                      height: PICKER_HEIGHT + TOOLBAR_HEIGHT)
+
+        toolbar.frame = CGRect(x: 0,
+                               y: 0,
+                               width: backgroundView.bounds.size.width,
+                               height: TOOLBAR_HEIGHT)
         picker.frame = CGRect(x: 0,
-                              y: self.bounds.size.height - self.picker.bounds.size.height,
-                              width: self.bounds.size.width,
-                              height: self.picker.bounds.size.height)
-        toolbar.frame = CGRect(x: 0,
-                               y: self.bounds.size.height - picker.bounds.size.height - toolBarHeight,
-                               width: self.bounds.size.width,
-                               height: toolBarHeight)
+                              y: toolbar.bounds.size.height,
+                              width: backgroundView.bounds.size.width,
+                              height: PICKER_HEIGHT)
     }
     
 }

    fileprivate var picker:UIPickerView = UIPickerView()
    fileprivate var toolbar:UIToolbar = UIToolbar()
    
    private let doneBarButton = UIBarButtonItem(barButtonSystemItem: .done,
                                                target: self,
                                                action: #selector(done))

        self.doneHandler = doneHandler
        self.cancelHandler = cancelHandler
        
        animateViews(animationDirection: .in)
    }
    
    open class func show(cancelHandler:@escaping () -> Void, doneHandler:@escaping (_ word:String) -> Void) {
