fixed no-js replacement