add emscripten support