mainly emacs lisp