added possibility to read and write to/from additional file descriptors
some cleanup and documentation