add groovy and js support