improving elisp interface