added recent changes from groovy_dev version