some work on the lisp rules engine