code: def addLayers(self, *arg, **kw):
          
          netType = "serial"
          if "type" in kw:
              netType = kw["type"]
          self.addLayer('input', arg[0])
          hiddens = []
          if len(arg) > 3:
              hcount = 0
              for hidc in arg[1:-1]:
                  name = 'hidden%d' % hcount
                  self.addLayer(name, hidc)
                  hiddens.append(name)
                  hcount += 1
          elif len(arg) == 3:
                  name = 'hidden'
                  self.addLayer(name, arg[1])
                  hiddens.append(name)
          elif len(arg) == 2:
              pass
          else:
              raise AttributeError("not enough layers! need >= 2")
          self.addLayer('output', arg[-1])
          lastName = "input"
          for name in hiddens:
              if netType == "parallel":
                  self.connect('input', name)
                  self.connect(name, 'output')
              else: # serial
                  self.connect(lastName, name)
                  lastName = name
          if netType == "serial" or lastName == "input":
              self.connect(lastName, "output")
docs: Creates an N layer network with 'input', 'hidden1', 'hidden2',...
          and 'output' layers. Keyword type indicates "parallel" or
          "serial". If only one hidden layer, it is called "hidden".