Lots of elisp fixes and add a dependencies thing.
No need for its own buffer here