diff --git a/src/HMSInput.js b/src/HMSInput.js
index a7781aade53a030f0bd11452b38b54c3987450e0..38fd2e992b10839f21b01285aa7f244b41adbdfa 100644
--- a/src/HMSInput.js
+++ b/src/HMSInput.js
@@ -18,13 +18,7 @@ class HMSInput extends Component {
       minutes: m,
       seconds: s,
     };
-
     this.someChange = this.someChange.bind(this);
-    this.addOneSec = this.addOneSec.bind(this);
-    this.subOneSec = this.subOneSec.bind(this);
-    this.modifySec = this.modifySec.bind(this);
-    this.modifyMinute = this.modifyMinute.bind(this);
-    this.modifyHours = this.modifyHours.bind(this);
   }
 
   /** update */
@@ -43,71 +37,10 @@ class HMSInput extends Component {
   someChange(ev) {
     const { onChange } = this.props;
     const { state } = this;
-    if(Number(isNaN(ev.target.value))){
-      return;
-    }else{
-      console.log(Number(ev.target.value));
       state[ev.target.name] = Number(ev.target.value);
       onChange(state.hours * 3600 + state.minutes * 60 + state.seconds);
-    }
-  }
-
-  /** Add one second by simulating an input change */
-  addOneSec() {
-    const { seconds } = this.state;
-    this.someChange({ target: { name: 'seconds', value: seconds + 1 } });
-  }
-
-  /** Substract one second by simulating an input change */
-  subOneSec() {
-    const { seconds } = this.state;
-    this.someChange({ target: { name: 'seconds', value: seconds - 1 } });
-  }
-
-// Bind arrow key up and down to call subOneSec or AddOneSec
-  modifySec(event){
-    if(event.key === 'ArrowUp'){
-      this.addOneSec();
-    }else if (event.key === 'ArrowDown'){
-      this.subOneSec();
-    }
-  }
-  /** Add one minute by simulating an input change */
-  addOneMinute(){
-    const { minutes } = this.state;
-    this.someChange( { target: { name: 'minutes', value: minutes + 1} });
-  }
+      console.log('h : ' + state.hours + ' m : ' + state.minutes + ' s : ' + state.seconds)
 
-  /** Substract one minute by simulation an input change*/
-  subOneMinute() {
-    const { minutes } = this.state;
-    this.someChange({ target: { name: 'minutes', value: minutes - 1 } });
-  }
-// Bind arrow key up and down to call subOneMinute or AddOneMinute
-
-  modifyMinute(event){
-    if(event.key === 'ArrowUp'){
-      this.addOneMinute();
-    }else if (event.key === 'ArrowDown'){
-      this.subOneMinute();
-    }
-  }
-
-  addOneHour(){
-    const { hours } = this.state;
-    this.someChange({target: {name: 'hours', value: hours + 1}})
-  }
-
-  subOneHour(){
-    const { hours } = this.state;
-    this.someChange({target: {name: 'hours', value: hours - 1}})
-  }
-  modifyHours(event){
-    if(event.key === 'ArrowUp'){
-      this.addOneHour();
-    }else if (event.key === 'ArrowDown'){
-      this.subOneHour();
-    }
   }
 
   /** Render */
@@ -117,9 +50,9 @@ class HMSInput extends Component {
     return (
       <div className={classes.root}>
         <div className={classes.root}>
-          <Input className={classes.input} name="hours" value={hours} onKeyDown={this.modifyHours} onChange={this.someChange} />
-          <Input className={classes.input} name="minutes" value={minutes} onKeyDown={this.modifyMinute} onChange={this.someChange} />
-          <Input className={classes.input} name="seconds" value={seconds} onKeyDown={this.modifySec} onChange={this.someChange} />
+          <Input className={classes.input} type='number' min='0' pattern name="hours" value={hours} onChange={this.someChange} />
+          <Input className={classes.input} type='number' min='0' max='59' name="minutes" value={minutes} onChange={this.someChange} />
+          <Input className={classes.input} type='number' min='0' max='59' name="seconds" value={seconds} onChange={this.someChange} />
         </div>
       </div>
     );
@@ -145,6 +78,19 @@ const styles = (theme) => ({
     margin: '2px',
     textAlign: 'center',
     width: '4ch',
+    // remove arrow from field for Firefox
+    '& input[type=number]': {
+      '-moz-appearance': 'textfield'
+    },
+    // remove arrow from field for Chrome, Safari and Opera
+    '& input[type=number]::-webkit-outer-spin-button': {
+      '-webkit-appearance': 'none',
+      margin: 0
+    },
+    '& input[type=number]::-webkit-inner-spin-button': {
+      '-webkit-appearance': 'none',
+      margin: 0
+    }
   },
 });