add better js support