use temporary file to select correctly even if the buffer is unsaved
fix variable name for loading guard
remove system header files to make parsing faster