add license
prepare to support other polling methods
tidy the debug log
change the extension of the backend to .h so that we could set breakpoints on Xcode
record and use the max. used fd