structure of emacs