add file watching with automatic compilation