added groovy support