add groovy and puppet modes