adding cleanup functions
adding error handling example
beginning file watcher
adding file watchers
finishing directory watcher