moved to a groovy pre-processor for stability