OK, I give up, we need a JS runtime