add web worker, add placeholder