file watching added, needs to be cleaned up