diff --git a/dist/index.js b/dist/index.js
index 612e527..e63fb25 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -492,7 +492,7 @@ var Component = __webpack_require__(3)(
   /* cssModules */
   null
 )
-Component.options.__file = "/Users/yev/Projects/test/vue-js-modal/src/Modal.vue"
+Component.options.__file = "/Users/yev/Projects/vue/vue-js-modal/src/Modal.vue"
 if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
 if (Component.options.functional) {console.error("[vue-loader] Modal.vue: functional components are not supported with templates, they should use render functions.")}
 
@@ -566,6 +566,10 @@ exports.default = {
       type: [Boolean, String],
       default: false
     },
+    reset: {
+      type: Boolean,
+      default: false
+    },
     transition: {
       type: String
     },
@@ -630,9 +634,6 @@ exports.default = {
     Resizer: _Resizer2.default
   },
   data: function data() {
-    var width = (0, _parser2.default)(this.width);
-    var height = (0, _parser2.default)(this.height);
-
     return {
       visible: false,
 
@@ -647,13 +648,10 @@ exports.default = {
       },
 
       modal: {
-        widthInit: 0,
-        width: width.value,
-        widthType: width.type,
-
-        heightInit: 0,
-        height: height.value,
-        heightType: height.type
+        width: 0,
+        widthType: 'px',
+        height: 0,
+        heightType: 'px'
       },
 
       window: {
@@ -689,6 +687,9 @@ exports.default = {
       }
     }
   },
+  created: function created() {
+    this.setInitialSize();
+  },
   beforeMount: function beforeMount() {
     var _this2 = this;
 
@@ -756,6 +757,17 @@ exports.default = {
     }
   },
   methods: {
+    setInitialSize: function setInitialSize() {
+      var modal = this.modal;
+
+      var width = (0, _parser2.default)(this.width);
+      var height = (0, _parser2.default)(this.height);
+
+      modal.width = width.value;
+      modal.widthType = width.type;
+      modal.height = height.value;
+      modal.heightType = height.type;
+    },
     onWindowResize: function onWindowResize() {
       this.window.width = window.innerWidth;
       this.window.height = window.innerHeight;
@@ -784,13 +796,22 @@ exports.default = {
 
       var resizeEvent = this.genEventObject({ size: size });
 
-      console.log(resizeEvent);
-
       this.$emit('resize', resizeEvent);
     },
     toggle: function toggle(state, params) {
-      var beforeEventName = this.visible ? 'before-close' : 'before-open';
-      var afterEventName = this.visible ? 'closed' : 'opened';
+      var reset = this.reset,
+          visible = this.visible;
+
+
+      var beforeEventName = visible ? 'before-close' : 'before-open';
+
+      var afterEventName = visible ? 'closed' : 'opened';
+
+      if (beforeEventName === 'before-open' && reset) {
+        this.setInitialSize();
+        this.shift.left = 0;
+        this.shift.top = 0;
+      }
 
       var stopEventExecution = false;
 
@@ -1042,7 +1063,7 @@ exports = module.exports = __webpack_require__(2)();
 
 
 // module
-exports.push([module.i, "\n.v--modal-overlay {\n  position: fixed;\n  left: 0;\n  top: 0;\n  width: 100vw;\n  height: 100vh;\n  background: rgba(0, 0, 0, 0.2);\n  z-index: 999;\n  opacity: 1;\n}\n.v--modal-overlay .v--modal-box {\n  position: relative;\n  overflow: hidden;\n  box-sizing: border-box;\n}\n.v--modal {\n  background-color: white;\n  text-align: left;\n  border-radius: 3px;\n  box-shadow: 0 20px 60px -2px rgba(27, 33, 58, .4);\n  padding: 0;\n}\n.v--modal.v--modal-fullscreen {\n  width: 100vw;\n  height: 100vh;\n  margin: 0;\n  left: 0;\n  top: 0;\n}\n.v--modal-top-right {\n  display: block;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n.overlay-fade-enter-active, .overlay-fade-leave-active {\n  transition: all 0.2s;\n}\n.overlay-fade-enter, .overlay-fade-leave-active {\n  opacity: 0;\n}\n.nice-modal-fade-enter-active, .nice-modal-fade-leave-active {\n  transition: all 0.4s;\n}\n.nice-modal-fade-enter, .nice-modal-fade-leave-active {\n  opacity: 0;\n  transform: translateY(-20px);\n}\n", "", {"version":3,"sources":["/./src/Modal.vue?693baac5"],"names":[],"mappings":";AA8YA;EACA,gBAAA;EACA,QAAA;EACA,OAAA;EACA,aAAA;EACA,cAAA;EACA,+BAAA;EACA,aAAA;EACA,WAAA;CACA;AAEA;EACA,mBAAA;EACA,iBAAA;EACA,uBAAA;CACA;AAEA;EACA,wBAAA;EACA,iBAAA;EACA,mBAAA;EACA,kDAAA;EACA,WAAA;CACA;AAEA;EACA,aAAA;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA,OAAA;CACA;AAEA;EACA,eAAA;EACA,mBAAA;EACA,SAAA;EACA,OAAA;CACA;AAEA;EACA,qBAAA;CACA;AAEA;EACA,WAAA;CACA;AAEA;EACA,qBAAA;CACA;AAEA;EACA,WAAA;EACA,6BAAA;CACA","file":"Modal.vue","sourcesContent":["\n  \n    \n      
\n        \n      
\n      
\n        \n          \n          \n        
\n      \n    
\n      
\n        \n      
\n      
\n        \n          \n          \n        
\n      \n    
\n      
\n        \n      
\n      
\n        \n          \n          \n        
\n      \n    
\n      
\n        \n      
\n      
\n        \n          \n          \n        
\n      \n