add build --watch support