rejiggered for neatness, XDG stuff separated and complete but for bash