   e.syscall = syscall
   return e
 
+##
+# new server class extending node's net.Server
 class Server extends net.Server
   _netClusterListen: (address, port, addressType) ->
     handle = new TCP()

nop = require "nop"
TCP = process.binding('tcp_wrap').TCP

extend = (obj, mixin) ->
  obj[name] = method for name, method in mixin
  obj

toNumber = (x) ->
  x = Number(x)
  if x >= 0

      return @emit 'error', err if err
      @_netClusterListen.apply(@, portArgs)

##
# provide everything that the net module does
extend(module.exports, net)

# but override the createServer function to use our server
module.exports.createServer = ->
  new Server(arguments[0], arguments[1])

