text: 'use strict';
  //rules for turning a verb into infinitive form
  let rules = {
    Participle: [
      {
        reg: /own$/i,
        to: 'ow'
      },
      {
        reg: /(.)un([g|k])$/i,
        to: '$1in$2'
      }
    ],
    Actor: [
      {
        reg: /(er)er$/i,
        to: '$1'
      }
    ],
    PresentTense: [
      {
        reg: /(..)(ies)$/i,
        to: '$1y'
      }, {
        reg: /(tch|sh)es$/i,
        to: '$1'
      }, {
        reg: /(ss|zz)es$/i,
        to: '$1'
      }, {
        reg: /([tzlshicgrvdnkmu])es$/i,
        to: '$1e'
      }, {
        reg: /(n[dtk]|c[kt]|[eo]n|i[nl]|er|a[ytrl])s$/i,
        to: '$1'
      }, {
        reg: /(ow)s$/i,
        to: '$1'
      }, {
        reg: /(op)s$/i,
        to: '$1'
      }, {
        reg: /([eirs])ts$/i,
        to: '$1t'
      }, {
        reg: /(ll)s$/i,
        to: '$1'
      }, {
        reg: /(el)s$/i,
        to: '$1'
      }, {
        reg: /(ip)es$/i,
        to: '$1e'
      }, {
        reg: /ss$/i,
        to: 'ss'
      }, {
        reg: /s$/i,
        to: ''
      }],
    Gerund: [
      {
        reg: /pping$/i,
        to: 'p'
      }, {
        reg: /lling$/i,
        to: 'll'
      }, {
        reg: /tting$/i,
        to: 't'
      }, {
        reg: /dding$/i,
        to: 'd'
      }, {
        reg: /ssing$/i,
        to: 'ss'
      }, {
        reg: /(..)gging$/i,
        to: '$1g'
      }, {
        reg: /([^aeiou])ying$/i,
        to: '$1y'
      }, {
        reg: /([^ae]i.)ing$/i,
        to: '$1e'
      }, {
        reg: /(ea.)ing$/i,
        to: '$1'
      }, {
        reg: /(u[rtcb]|[bdtpkg]l|n[cg]|a[gdkvtc]|[ua]s|[dr]g|yz|o[rlsp]|cre)ing$/i,
        to: '$1e'
      }, {
        reg: /(ch|sh)ing$/i,
        to: '$1'
      }, {
        reg: /(..)ing$/i,
        to: '$1'
      }],
    PastTense: [
      {
        reg: /(ued)$/i,
        to: 'ue'
      }, {
        reg: /a([^aeiouy])ed$/i,
        to: 'a$1e'
      }, {
        reg: /([aeiou]zz)ed$/i,
        to: '$1'
      }, {
        reg: /(e|i)lled$/i,
        to: '$1ll'
      }, {
        reg: /(.)(sh|ch)ed$/i,
        to: '$1$2'
      }, {
        reg: /(tl|gl)ed$/i,
        to: '$1e'
      }, {
        reg: /(um?pt?)ed$/i,
        to: '$1'
      }, {
        reg: /(ss)ed$/i,
        to: '$1'
      }, {
        reg: /pped$/i,
        to: 'p'
      }, {
        reg: /tted$/i,
        to: 't'
      }, {
        reg: /(..)gged$/i,
        to: '$1g'
      }, {
        reg: /(..)lked$/i,
        to: '$1lk'
      }, {
        reg: /([^aeiouy][aeiou])ked$/i,
        to: '$1ke'
      }, {
        reg: /(.[aeiou])led$/i,
        to: '$1l'
      }, {
        reg: /(..)(h|ion|n[dt]|ai.|[cs]t|pp|all|ss|tt|int|ail|ld|en|oo.|er|k|pp|w|ou.|rt|ght|rm)ed$/i,
        to: '$1$2'
      }, {
        reg: /(.ut)ed$/i,
        to: '$1e'
      }, {
        reg: /(.pt)ed$/i,
        to: '$1'
      }, {
        reg: /(us)ed$/i,
        to: '$1e'
      }, {
        reg: /(..[^aeiouy])ed$/i,
        to: '$1e'
      }, {
        reg: /(..)ied$/i,
        to: '$1y'
      }, {
        reg: /(.o)ed$/i,
        to: '$1o'
      }, {
        reg: /(..i)ed$/i,
        to: '$1'
      }, {
        reg: /(.a[^aeiou])ed$/i,
        to: '$1'
      }, {
        reg: /([rl])ew$/i,
        to: '$1ow'
      }, {
        reg: /([pl])t$/i,
        to: '$1t'
      }]
  };
  module.exports = rules;
  