added support for emacs 23