adding lisp and groovy implementations